Angular2 rxjs - switchmap fangen Fehler
Ich würde gerne in der Lage sein zu handhaben, Fehler, Fehler beim Aufruf von this.authService.refreshToken()
. Können Fehler behandelt werden, die innerhalb der switchmap block, oder wie gehe ich über den Umgang mit einem Fehler in diesem Fall?
post3(endpoint: string, body: string) : Observable<any> {
if (this.authService.tokenRequiresRefresh()) {
this.authService.tokenIsBeingRefreshed.next(true);
return this.authService.refreshToken().switchMap(
data => {
this.authService.refreshTokenSuccessHandler(data);
if (this.authService.loggedIn()) {
this.authService.tokenIsBeingRefreshed.next(false);
return this.postInternal(endpoint, body);
} else {
this.authService.tokenIsBeingRefreshed.next(false);
this.router.navigate(['/sessiontimeout']);
Observable.throw(data);
}
}
);
}
else {
return this.postInternal(endpoint, body);
}
}
- BTW, müssen Sie eine Rückgabe:
return Observable.throw(data);
Du musst angemeldet sein, um einen Kommentar abzugeben.
verwenden Sie die catchError Methode
catchError
in v6.