Ich habe Probleme mit der Ausführung von Code, nachdem ein Fehler in HttpClient aufgetreten ist. Ich würde gerne wissen, wie man das Flag setzt, das ein Laden-Spinner ausschalten würde, wenn der http-Aufruf fehlschlägt. Ich bin mit RxJs 5.5.2 und Angular 5Angular HttpClient Fehlerbehandlung
private fetch(): Observable<LegalTerm[]> {
this.isLoading = true;
return this._http
.get<LegalTerm[]>(AppSettings.LegalTermUrl, { withCredentials: true })
.do(() => this.isLoading = false)
.catch<any, LegalTerm>(this._trace.handleError)
.do(() => this.isLoading = false)
}
So in dem glücklichen Weg isLoading = false
funktioniert, aber nicht sicher, wie nach catch
das zu tun. Es funktioniert nicht so wie der Code jetzt ist. Ich benutze auch eine benutzerdefinierte Fehlerbehandlung als pro Angular docs
public handleError<T>(operation = 'operation', error: any, result?: T) {
// do logging etc
return Observable.of(result as T); // return empty result
}
Sie sollten 'HttpInterceptor' verwenden zu finden. –
'.catch (this._trace.handleError)' ist Code, der Sie früher oder später beißen wird. Repariere es. –