Transformatieoperators
Transformatieoperators worden gebruikt om data binnen de RxJS-pipeline te transformeren en verwerken. Door waarden naar nieuwe vormen te transformeren, maken ze flexibelere en krachtigere controle over reactieve datastromen mogelijk.
Lijst van operators
◾ Eenvoudige waardetransformaties
| Operator | Beschrijving |
|---|---|
| map | Pas een transformatiefunctie toe op elke waarde |
◾ Accumulatie
| Operator | Beschrijving |
|---|---|
| scan | Genereer waarden cumulatief |
| reduce | Voer alleen het eindresultaat van accumulatie uit |
◾ Paar en groepering
| Operator | Beschrijving |
|---|---|
| pairwise | Verwerk twee opeenvolgende waarden in paren |
| groupBy | Groepeer waarden op basis van een sleutel |
◾ Asynchrone transformatie
| Operator | Beschrijving |
|---|---|
| mergeMap | Transformeer elke waarde naar een Observable en voeg parallel samen |
| switchMap | Schakel naar de nieuwste Observable |
| concatMap | Voer elke Observable sequentieel uit |
| exhaustMap | Negeer nieuwe invoer tijdens uitvoering |
| expand | Breid resultaten recursief uit |
◾ Batchverwerking
| Operator | Beschrijving |
|---|---|
| buffer | Batch waarden op de timing van een andere Observable |
| bufferTime | Batch waarden op regelmatige intervallen |
| bufferCount | Batch waarden op gespecificeerd aantal |
| bufferWhen | Buffering met dynamisch gecontroleerde eindvoorwaarden |
| bufferToggle | Buffering met onafhankelijke controle van start en einde |
| windowTime | Splits in sub-Observables op regelmatige intervallen |
Praktische transformatiepatronen
In echte applicaties is de volgende verwerking mogelijk door transformatieoperators te combineren:
- Invoervalidatie en feedback
- Optimale controle van asynchrone API-verzoeken
- Data-vormgeving, aggregatie en normalisatie
- Batchverwerking en groepering van gebeurtenisstreams
👉 Voor meer informatie: Praktische transformatiepatronen
🚨 Opmerkingen
Om veelvoorkomende fouten bij het gebruik van transformatieoperators te vermijden, zie ook:
- Bijwerkingen in map - Gebruik
mapals een pure functie - Ongepaste operatorselectie - Correct gebruik van hogere-orde operators