2016-05-16 1 views
0

Полный обратный вызов не работает должным образом. Позвольте мне объяснить:Полный обратный вызов в Observable.prototype.subscribe в Angular 2

Посмотрите это изображение, обратите внимание на обратный вызов complete в subscribe методе. Эта функция complete вызывается только тогда, когда вызывается observerOrNext. Когда происходит некоторая ошибка, complete не вызывается. Это правильно? Есть еще один способ получить обратный вызов, который всегда вызывается при завершении процесса?

enter image description here

Пример:

Когда успех:

this.getData(params) 
    .subscribe(
     successData => { 
      // this is called 
     }, 
     error => { 
      // this is not called. Ok! 
     }, 
     () => { // when complete 
      // this is called, ok! 
     } 
    ); 

Когда ошибка:

this.getData(params) 
    .subscribe(
     successData => { 
      // this is not called, ok! 
     }, 
     error => { 
      // this is called. Ok! Yeah! 
     }, 
     () => { // when complete 
      // this is not called, why god?? 
     } 
    ); 

ответ