javascript / intermediate
Snippet
Parallele Verarbeitung mit mergeMap
Im Gegensatz zu switchMap bricht mergeMap vorherige Anfragen nicht ab. Es verarbeitet mehrere innere Observables gleichzeitig, was es ideal für 'Fire-and-Forget'-Aktionen oder paralleles Datenabrufen macht, bei denen die Reihenfolge keine Rolle spielt.
snippet.js
1
2
3
4
5
this.userIds$.pipe(mergeMap(id => this.userService.getDetails(id))).subscribe(userDetails => {this.allUsers.push(userDetails);});
angular
Erklärung
1
mergeMap(id => ...)
Interpretiert jede ID als HTTP-Anfrage und führt sie alle parallel aus.
2
subscribe(...)
Empfängt Ergebnisse bei ihrer Ankunft, unabhängig von der Reihenfolge, in der sie gesendet wurden.