Operators begrijpen
RxJS-operators zijn een verzameling functies voor het transformeren, combineren en controleren van Observable-datastreams.
Operators worden meestal in combinatie gebruikt, waarbij het concept van "pipelines" naar voren komt.
In RxJS worden operators ingedeeld in de volgende categorieën.
Categorie-overzicht
- Transformatie-operators
- Filtering-operators
- Combinatie-operators
- Utility-operators
- Conditionele operators
- Error handling-operators
- Multicasting-operators
Elke categorie bevat talrijke handige operators. Raadpleeg elke categorie voor details.
Operators-overzichtstabel
Klik op de links voor gedetailleerde uitleg van elke operator.
| Categorie | Operator | Beschrijving |
|---|---|---|
| Transformatie | map | Transformeert elke waarde |
| scan | Accumuleert waarden en geeft tussentijdse resultaten | |
| reduce | Accumuleert alle waarden en geeft alleen het eindresultaat | |
| pairwise | Verwerkt twee opeenvolgende waarden als paar | |
| groupBy | Groepeert streams per sleutel | |
| mergeMap | Voert asynchrone bewerkingen parallel uit | |
| switchMap | Voert alleen de nieuwste asynchrone bewerking uit (annuleert oude bewerkingen) | |
| concatMap | Voert asynchrone bewerkingen sequentieel uit | |
| exhaustMap | Negeert nieuwe bewerkingen tijdens uitvoering | |
| expand | Breidt resultaten recursief uit | |
| buffer | Groepeert waarden in arrays voor uitgifte | |
| bufferTime | Groepeert waarden per tijdsinterval voor uitgifte | |
| bufferCount | Groepeert waarden per aantal voor uitgifte | |
| bufferWhen | Buffert met dynamische eindconditie-controle | |
| bufferToggle | Buffert met onafhankelijke start- en stopcontrole | |
| Filtering | filter | Laat alleen waarden door die aan voorwaarde voldoen |
| take | Neemt alleen de eerste N waarden | |
| takeLast | Neemt de laatste N waarden | |
| takeWhile | Neemt waarden zolang voorwaarde voldaan is | |
| skip | Slaat de eerste N waarden over | |
| skipLast | Slaat de laatste N waarden over | |
| skipWhile | Slaat waarden over zolang voorwaarde voldaan is | |
| skipUntil | Slaat waarden over tot andere Observable vuurt | |
| first | Neemt de eerste waarde of eerste waarde die aan voorwaarde voldoet | |
| last | Neemt de laatste waarde of laatste waarde die aan voorwaarde voldoet | |
| elementAt | Neemt waarde op opgegeven index | |
| find | Vindt eerste waarde die aan voorwaarde voldoet | |
| findIndex | Neemt index van eerste waarde die aan voorwaarde voldoet | |
| debounceTime | Geeft laatste waarde na opgegeven tijd zonder input | |
| throttleTime | Laat eerste waarde door, negeert nieuwe waarden voor opgegeven tijd | |
| auditTime | Geeft laatste waarde na opgegeven tijd | |
| audit | Controleert periode met aangepaste Observable en geeft laatste waarde | |
| sampleTime | Samplet nieuwste waarde per tijdsinterval | |
| ignoreElements | Negeert alle waarden, laat alleen complete/error door | |
| distinct | Verwijdert alle duplicaten (geeft alleen unieke waarden) | |
| distinctUntilChanged | Verwijdert opeenvolgende duplicaten | |
| distinctUntilKeyChanged | Detecteert alleen wijzigingen in specifieke object-eigenschappen | |
| Combinatie (Pipeable) | concatWith | Combineert andere Observables sequentieel na voltooiing |
| mergeWith | Combineert meerdere Observables gelijktijdig | |
| combineLatestWith | Combineert nieuwste waarden van elke Observable | |
| zipWith | Koppelt waarden in corresponderende volgorde | |
| raceWith | Kiest alleen de eerst vurende Observable | |
| withLatestFrom | Voegt andere nieuwste waarden toe aan hoofdstream | |
| 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 | |
| Utility | tap | Voert side-effects uit (zoals logging) |
| finalize | Voert opruiming uit bij voltooiing of fout | |
| delay | Vertraagt alle waarden met opgegeven tijd | |
| delayWhen | Vertraagt elke waarde dynamisch met andere Observable | |
| timeout | Geeft fout als geen waarde binnen opgegeven tijd | |
| takeUntil | Neemt waarden tot andere Observable waarde geeft | |
| retry | Probeert opnieuw tot opgegeven aantal bij fout | |
| repeat | Herhaalt opgegeven aantal keer na voltooiing | |
| startWith | Voegt initiële waarde toe aan begin van stream | |
| toArray | Groepeert alle waarden in array voor uitgifte | |
| materialize | Converteert notificaties naar Notification-objecten | |
| dematerialize | Converteert Notification-objecten terug naar normale notificaties | |
| observeOn | Controleert timing van waarde-uitgifte met scheduler | |
| subscribeOn | Controleert timing van subscription-start met scheduler | |
| timestamp | Voegt timestamp toe aan elke waarde | |
| Conditioneel | defaultIfEmpty | Geeft standaardwaarde als geen waarden |
| every | Controleert of alle waarden aan voorwaarde voldoen | |
| isEmpty | Controleert of geen waarden zijn uitgegeven | |
| Error handling | catchError | Vangt fouten op en voert fallback-verwerking uit |
| retry | Probeert opnieuw tot opgegeven aantal bij fout | |
| retryWhen | Probeert opnieuw met aangepaste voorwaarden | |
| Multicast | share | Deelt Observable tussen meerdere subscribers |
| shareReplay | Cachet nieuwste N waarden en speelt af voor nieuwe subscribers |