javascript / intermediate
Snippet
Sequenzielle Abfrage-Verarbeitung mit concatMap
Fortgeschrittene RxJS-Entwickler verwenden concatMap, um sicherzustellen, dass asynchrone Operationen in der exakten Reihenfolge verarbeitet werden, in der sie ausgelöst wurden. Im Gegensatz zu switchMap bricht es vorherige Anfragen nicht ab, und im Gegensatz zu mergeMap wartet es auf den Abschluss der aktuellen Operation, bevor die nächste gestartet wird.
snippet.js
1
2
3
this.userId$.pipe(concatMap(id => this.http.get(`/api/user/${id}`))).subscribe(user => this.currentUser = user);
angular
Erklärung
1
this.userId$.pipe(
Startet einen Observable-Stream basierend auf emittierten Benutzer-IDs.
2
concatMap(id => this.http.get(...))
Reiht die HTTP-Anfragen nacheinander ein und verhindert Race Conditions bei reihenfolgeabhängiger Logik.