2016-08-17 2 views
13

ich diesen Code hatteWas ist der beobachtbare entspricht `Promise.reject`

return this.http.get(this.pushUrl) 
     .toPromise() 
     .then(response => response.json().data as PushResult[]) 
     .catch(this.handleError); 

I observable statt Promise

wie kann ich zurückkehren, den Fehler zu dem anrufenden Methode verwenden wollte?

Was entspricht Promise.reject?

doSomeGet() { 
     console.info("sending get request"); 

     this.http.get(this.pushUrl) 
      .forEach(function (response) { console.info(response.json()); }) 
      .catch(this.handleError); 
    } 

    private handleError(error: any) { 
     console.error('An error occurred', error); 
     // return Promise.reject(error.message || error); 
    } 
} 

die anrufende Methode war:

getHeroes() { 
    this.pushService 
     .doSomeGet(); 
     // .then(pushResult => this.pushResult = pushResult) 
     // .catch(error => this.error = error); 
} 
+0

auch Der obige Code mit '' Promise.reject'' uncommented funktioniert perfekt in Ordnung. Ich bin mir nicht sicher warum. Hast du irgendwelche Gedanken dazu? – raj

Antwort

Verwandte Themen