2016-05-16 2 views
0

Der vollständige Rückruf funktioniert nicht wie erwartet. Lassen Sie mich erklären:Vollständiger Rückruf in Observable.prototypeScribe in Angular 2

Siehe dieses Bild, beachten Sie die complete Rückruf in subscribe Methode. Diese complete Funktion wird nur aufgerufen, wenn der observerOrNext aufgerufen wird. Wenn ein Fehler auftritt, wird complete nicht aufgerufen. Dies ist richtig? Es gibt eine andere Methode, um einen Rückruf zu erhalten, der immer aufgerufen wird, wenn der Prozess beendet wird?

enter image description here

Beispiel:

Als Erfolg:

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

Wenn Fehler:

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

Antwort