0 Tage Serie
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
javascript
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.