Angular · Middle · Frage 20 von 75
Warum gehört catchError in einem langlebigen Stream in den switchMap?
this.query$.pipe(
switchMap((q) => this.api.search(q).pipe(catchError(() => of([])))),
);- 1
catchErrorfunktioniert überhaupt nur innerhalb vonswitchMap - 2Ein Fehler beendet den Stream, den er erreicht, also im inneren fangen
- 3Es lässt die fehlgeschlagene Anfrage automatisch wiederholen, bis sie klappt
Antwort zeigen
Richtige Antwort: Ein Fehler beendet den Stream, den er erreicht, also im inneren fangen
Erklärung
Erreicht der Fehler den äußeren Stream, endet dieser, und das Suchfeld funktioniert nach dem ersten Fehler nicht mehr. Behandle Fehler pro Anfrage und liefere einen Ersatzwert.