ich einen API-Aufruf, die manchmal diesen Fehler bekommt:Warum löst eine Instanz von HttpErrorResponse nicht die Fehlerfunktion einer Subskription für eine Serverantwort in Angular mit HttpClient aus?
HttpErrorResponse {headers: HttpHeaders, status: 0, statusText: "Unknown Error", url: null, ok: false, …} error: ProgressEvent {isTrusted: true, lengthComputable: false, loaded: 0, total: 0, type: "error", …}headers: HttpHeaders {normalizedNames: Map(0), lazyUpdate: null, headers: Map(0)}message: "Http failure response for (unknown url): 0 Unknown Error"name: "HttpErrorResponse"ok: falsestatus: 0statusText: "Unknown Error"url: null }
In meinem Code, der Server Aufruf wie so gehandhabt wird ... (Disclaimer, hat einige Code der Kürze halber auf eine einfachere Version reduziert)
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
getData() {
const apiRoot = 'http://whatever.../getSomething...';
const params = new HttpParams().set('foo', 'bar');
const body = { params };
return this.http.get(apiRoot, body)
.map(res => res)
.catch(err => Observable.of(err));
}
Die Antwort des Servers wird so ...
this.getData().subscribe(
response => {
this.setApiResultsData(response);
console.log(response); // <-- where the "error" is printed
},
error => {
this.setApiResultsError(error.message);
console.log(response); // <-- where I would think the error would go is never triggered... ???
}
);
Meine Frage ist, warum es nicht zu error
in den s übergeben bekommen mögen abonniert Beschreibung? Mache ich etwas falsch? Ich möchte Fehler richtig zu handhaben, so dass ich bin offen für Vorschläge
Ah, macht jetzt vollkommen Sinn. Vielen Dank. Es ist auch ein CORS-Problem, mir war nicht klar, warum ein Statuscode von 0 kein Fehler war. –