aktuelle Situation:Was ist der richtige Weg, um http Fehler zu behandeln?
Ich habe eine service.ts die Daten im Backend zu speichern:
public update(route: string, values: Array<any>): Observable<boolean> { let body = { values: values }; return this.httpClient.put(route, body, { observe: 'response' }) .map((res) => { let status = res.status; switch (status) { case 202: return true; } }, error => { switch (error.status) { case 406: return false; } }); }
ich habe einen http-Interceptor, so kann ich Token an jede Anforderung anhängen:
public intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> { return next .handle(request) .do(event => { }) .catch((error: any) => { }); }
und ich habe eine Komponente mit einer Speichermethode, wo ich normalerweise das Ergebnis brauche:
public save(form: FormGroup) { let path = '...'; this.service.update(path, form.value) .subscribe(result => { // success }, error => { // fail }); }
Ich weiß nicht, wie man Dinge zusammensetzt. Ich trigger die Speichermethode in meiner Komponente und auch das Ergebnis (Erfolg, Fehler) in der Komponente.
Im Moment kann ich nur das Ergebnis in meinem Interceptor greifen. Aber das ist der falsche Ort dafür.
scheint diese Art und Weise zu arbeiten ... Danke! – HansDampfHH