Ich versuche, alle Fehler zu übergeben, die in einer HTTP-Anforderung an einen gemeinsamen Protokolldienst von allen meinen Diensten auftreten könnten:Fehler bei Observable Handhabung in Angular 2
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/catch';
constructor(logger: LoggerService) { }
doSomething(): Observable<any> {
return this.http
.post('/foo/bar', {})
.catch(this.notifyErrors);
}
protected notifyErrors(error: any): Observable<any> {
this.logger.log(error);
return Observable.throw(error);
}
Leider innerhalb der notifyErrors
Methode, this
ist verloren. Ich habe versucht, dies als einen dicken Pfeil zu definieren, aber ich bekomme vom TS-Compiler Typfehler. Ich habe die genaue Syntax in der Observable-Dokumentation verwendet.
Gunter, hat eine elegantere Lösung. Ich mag seine besser als meine. – Mardok