Combinatie-operators (Pipeable Operators)
RxJS-combinatie-operators zijn krachtige tools voor het combineren van meerdere Observables tot nieuwe streams.
IMPORTANT
Deze pagina behandelt Pipeable Operators (formaat voor gebruik in pipelines).
Voor Creation Functions (formaat dat nieuwe Observable creëert uit meerdere Observables), zie Hoofdstuk 3 Creation Functions.
Creation Functions vs Pipeable Operators
Combinatie-gerelateerde functionaliteit wordt in twee formaten aangeboden.
Creation Functions (uitgelegd in Hoofdstuk 3)
Neemt meerdere Observables als argumenten en creëert nieuwe Observable.
typescript
import { concat, merge, combineLatest, zip, race, forkJoin } from 'rxjs';
// Gebruikt als Creation Function
const combined$ = concat(obs1$, obs2$, obs3$);
const merged$ = merge(source1$, source2$);Zie Creation Functions voor details.
Pipeable Operators (uitgelegd op deze pagina)
Gebruikt binnen .pipe() op bestaande Observable.
typescript
import { concatWith, mergeWith, combineLatestWith } from 'rxjs';
// Gebruikt als Pipeable Operator
const result$ = source$.pipe(
map(x => x * 2),
concatWith(other$),
filter(x => x > 10)
);Pipeable Operators overzicht
◾ Operators behandeld op deze pagina
| Operator | Beschrijving |
|---|---|
| withLatestFrom | Combineert nieuwste waarden van andere streams bij uitgifte van hoofd-Observable |
| mergeAll | Vlakt Higher-order Observable parallel af |
| concatAll | Vlakt Higher-order Observable sequentieel af |
| switchAll | Schakelt naar nieuwste Higher-order Observable |
| exhaustAll | Negeert nieuwe Higher-order Observable tijdens uitvoering |
| combineLatestAll | Combineert nieuwste waarden van alle interne Observables |
| zipAll | Koppelt corresponderende waarden van elke interne Observable |
◾ Aangeboden als Creation Functions
De volgende worden voornamelijk gebruikt als Creation Function (zie Hoofdstuk 3).
| Function | Beschrijving | Pipeable versie |
|---|---|---|
| concat | Sequentiële combinatie | concatWith (RxJS 7+) |
| merge | Parallelle combinatie | mergeWith (RxJS 7+) |
| combineLatest | Combineert nieuwste waarden | combineLatestWith (RxJS 7+) |
| zip | Koppelt corresponderende waarden | zipWith (RxJS 7+) |
| race | Kiest snelste stream | raceWith (RxJS 7+) |
| forkJoin | Wacht op voltooiing van alle | (geen Pipeable versie) |
Verder leren met praktische voorbeelden
Voor realistische scenario's met combinatie-operators, zie Praktische use cases voor gedetailleerde voorbeelden.