Fortgeschrittene RxJS-Patterns
Higher-Order Observables, Multicasting, Share-Operatoren, Fehlerwiederherstellung, Retry-Strategien, Backpressure, benutzerdefinierte Operatoren
1Was ist der Hauptunterschied zwischen switchMap und mergeMap bei der Verarbeitung gleichzeitiger HTTP-Anfragen?
Was ist der Hauptunterschied zwischen switchMap und mergeMap bei der Verarbeitung gleichzeitiger HTTP-Anfragen?
Antwort
switchMap bricht vorherige Anfragen ab, wenn ein neuer Wert eintrifft, während mergeMap alle aktiven Subscriptions gleichzeitig aufrechterhält. In einer Suchleiste bricht switchMap laufende Anfragen bei neuer Eingabe automatisch ab und verhindert veraltete Ergebnisse. mergeMap eignet sich für unabhängige Aktionen, die alle abgeschlossen werden müssen, wie parallele Datei-Uploads.
2Wann sollte concatMap statt mergeMap verwendet werden, um eine Warteschlange von Benutzeraktionen zu verarbeiten?
Wann sollte concatMap statt mergeMap verwendet werden, um eine Warteschlange von Benutzeraktionen zu verarbeiten?
Antwort
concatMap garantiert die Ausführungsreihenfolge, indem es auf den Abschluss jedes inneren Observables wartet, bevor das nächste verarbeitet wird, während mergeMap alle Aktionen parallel ohne Reihenfolgegarantie verarbeitet. Verwenden Sie concatMap für kritische Operationen mit strikter Reihenfolge wie sequenzielle Banktransaktionen oder Chat-Nachrichten. mergeMap eignet sich für unabhängige Aktionen, die parallel laufen können.
3Was ist ein Higher-Order Observable und warum benötigt es einen Flattening-Operator?
Was ist ein Higher-Order Observable und warum benötigt es einen Flattening-Operator?
Antwort
Ein Higher-Order Observable ist ein Observable, das andere Observables emittiert. Zum Beispiel ein Click-Observable, das für jeden Klick ein HTTP-Anfrage-Observable emittiert. Ohne Flattening-Operator (switchMap, mergeMap, concatMap) erhält man eine verschachtelte Observable<Observable<T>>-Struktur, die nicht direkt nutzbar ist. Flattening-Operatoren abonnieren innere Observables automatisch und emittieren deren Werte im Hauptstream.
Welcher Operator sollte verwendet werden, um eine laufende Suche bei neuer Benutzereingabe automatisch abzubrechen?
Wie unterscheidet sich exhaustMap von switchMap bei der Verarbeitung kritischer Anfragen?
+19 Interview-Fragen
Weitere Angular-Interviewthemen
TypeScript-Grundlagen
TypeScript Fortgeschritten
Angular-Grundlagen
Komponenten und Lebenszyklus
Services & Dependency Injection
Angular-Modul-Organisation
Angular CLI
Direktiven und Pipes
Routing und Navigation
Reactive Forms
Template-driven Forms
RxJS-Grundlagen
RxJS-Operatoren
HttpClient und API-Aufrufe
Grundlegende State-Verwaltung
Change Detection
Angular Signals
Standalone Components
Angular Unit-Tests
End-to-End-Testing
Build und Optimierung
NgRx-Grundlagen
NgRx Fortgeschritten
Angular-Architektur
Performance-Optimierung
Sicherheit und Best Practices
Angular Universal und SSR
Angular Micro-Frontends
Meistere Angular für dein nächstes Interview
Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.
Kostenlos starten