ich eine Verwirrung über switchMap haben in rxjs beobachtbare:rxjs switchMap onerror Verhalten
zum Beispiel i nächsten Code haben:
Observable.fromEvent(button, 'click') .switchMap(() => Observable.fromPromise(fetch('http://return-error.com'))) .subscribe( (response) => { console.log(response); }, (error) => { console.log(error); } );
Wenn ich Fehler erhalten von holen, Abonnement unterbrochen wird. Gibt es also einen Weg, um ein neues Abonnement für einen Fehler zu erstellen?
Ich habe sogar versucht, Fehler zu erfassen und Observable zurückgeben, aber das Abonnement wird trotzdem unterbrochen.
upd: wie mit angular 2 umzugehen http.get statt holen?
danke, es funktioniert wirklich. Wissen Sie, wie Sie im Fall von eckigen 2 http.get statt holen umgehen? –
@MichailLinkov Ich bin froh, dass es geholfen hat! Ich bin ein React-Typ, der auch RxJS liebt. Ich kenne Angulars Methoden nicht. Aber wenn "http.get" ein Versprechen zurückgibt, können Sie es mit einem Haken behandeln. Wenn es einen beobachtbaren Fehler zurückgibt, gibt es verschiedene Möglichkeiten, dies abhängig von Ihren Anforderungen zu behandeln. –
Angular 2 HTTP gibt beobachtbare, ersten Weg ist Anruf toPromise, aber Sie sagen, dass trere sind verschiedene Wege, zweite ist Wiederzulassung) auch ich bin neugierig zu wissen, ist es Bug oder Feature dieses Verhalten von SwitchMap bei Fehler, weil es keinen Anruf gibt onComplete Callback nach onError –