Transformationsoperatoren
Transformationsoperatoren werden verwendet, um Daten innerhalb einer RxJS-Pipeline zu transformieren und zu verarbeiten. Durch die Transformation von Werten in neue Formen kann der reaktive Datenfluss flexibler und leistungsfähiger gesteuert werden.
Operatorenliste
◾ Einfache Wertetransformation
| Operator | Beschreibung |
|---|---|
| map | Wendet eine Transformationsfunktion auf jeden Wert an |
◾ Akkumulationsverarbeitung
| Operator | Beschreibung |
|---|---|
| scan | Erzeugt Werte akkumulativ |
| reduce | Gibt nur das endgültige akkumulierte Ergebnis aus |
◾ Paar- und Gruppierungsverarbeitung
| Operator | Beschreibung |
|---|---|
| pairwise | Verarbeitet zwei aufeinanderfolgende Werte als Paar |
| groupBy | Gruppiert Werte basierend auf einem Schlüssel |
◾ Asynchrone Transformation
| Operator | Beschreibung |
|---|---|
| mergeMap | Transformiert jeden Wert in ein Observable und kombiniert parallel |
| switchMap | Wechselt zum neuesten Observable |
| concatMap | Führt jedes Observable nacheinander aus |
| exhaustMap | Ignoriert neue Eingaben während der Ausführung |
| expand | Erweitert Ergebnisse rekursiv |
◾ Batch-Verarbeitung
| Operator | Beschreibung |
|---|---|
| buffer | Sammelt Werte zum Timing eines anderen Observables |
| bufferTime | Sammelt Werte in regelmäßigen Zeitintervallen |
| bufferCount | Sammelt in bestimmter Anzahl |
| bufferWhen | Buffering mit dynamischer Kontrolle der Endbedingung |
| bufferToggle | Buffering mit unabhängiger Steuerung von Start und Ende |
| windowTime | Teilt in Sub-Observables in regelmäßigen Zeitintervallen |
Praktische Transformationsmuster
In realen Anwendungen ermöglichen Transformationsoperatoren in Kombination folgende Verarbeitungen:
- Eingabevalidierung und Feedback
- Optimale Steuerung asynchroner API-Anfragen
- Formatierung, Aggregation und Normalisierung von Daten
- Batch-Verarbeitung und Gruppierung von Ereignisströmen
👉 Weitere Details: Siehe Praktische Transformationsmuster.
🚨 Hinweise
Um häufige Fehler bei der Verwendung von Transformationsoperatoren zu vermeiden, siehe auch:
- Seiteneffekte in map -
mapals reine Funktion verwenden - Ungeeignete Operatorauswahl - Angemessene Unterscheidung von Higher-Order-Operatoren