title: Complete callback in Observable.prototype.subscribe in Angular 2
body: <p>The complete callback does not work as expected. Let me explain:</p>
  
  <p>See this picture, note the <code>complete</code> callback in <code>subscribe</code> method.
  This <code>complete</code> function is only called when the <code>observerOrNext</code> is called. When some error happens, the <code>complete</code> is not called. This is right? There are another method to get a callback that always  is called when the process finish?</p>
  
  <p><a href="https://i.stack.imgur.com/GBW4V.jpg" rel="noreferrer"><img src="https://i.stack.imgur.com/GBW4V.jpg" alt="enter image description here"></a></p>
  
  <p>Example:</p>
  
  <p><strong>When success:</strong></p>
  
  <pre><code>this.getData(params)
      .subscribe(
          successData =&gt; {
              // this is called
          },
          error =&gt; {
              // this is not called. Ok!
          },
          () =&gt; { // when complete
              // this is called, ok!
          }
      );
  </code></pre>
  
  <p><strong>When error:</strong></p>
  
  <pre><code>this.getData(params)
      .subscribe(
          successData =&gt; {
              // this is not called, ok!
          },
          error =&gt; {
              // this is called. Ok! Yeah!
          },
          () =&gt; { // when complete
              // this is not called, why god??
          }
      );
  </code></pre>