Skip to content

Verständnis der Operatoren

RxJS-Operatoren sind eine Gruppe von Funktionen zur Transformation, Komposition und Steuerung von Observable-Datenströmen.

Operatoren werden normalerweise in Kombination verwendet, und dabei kommt die "Pipeline" ins Spiel.

In RxJS werden Operatoren in die folgenden Kategorien eingeteilt.

Kategorieübersicht

Jede Kategorie enthält viele nützliche Operatoren. Details finden Sie in den jeweiligen Kategorien.

Operatorentabelle

Detaillierte Erklärungen zu jedem Operator finden Sie durch Klicken auf die Links.

Übersicht der Operator-Kategorien
KategorieOperatorBeschreibung
TransformationmapTransformiert jeden Wert
scanAkkumuliert Werte und gibt auch Zwischenergebnisse aus
reduceAkkumuliert alle Werte und gibt nur das Endergebnis aus
pairwiseVerarbeitet zwei aufeinanderfolgende Werte als Paar
groupByGruppiert Streams nach Schlüsseln
mergeMapFührt asynchrone Verarbeitung parallel aus
switchMapFührt nur die neueste asynchrone Verarbeitung aus (alte Verarbeitung wird abgebrochen)
concatMapFührt asynchrone Verarbeitung sequenziell aus
exhaustMapIgnoriert neue Verarbeitung während der Ausführung
expandErweitert Ergebnisse rekursiv
bufferSammelt Werte in einem Array und gibt sie aus
bufferTimeSammelt Werte in festgelegten Zeitintervallen
bufferCountSammelt Werte in festgelegten Anzahlen
bufferWhenBuffering mit dynamischer Kontrolle der Endbedingung
bufferToggleBuffering mit unabhängiger Steuerung von Start und Ende
FilterungfilterLässt nur Werte durch, die eine Bedingung erfüllen
takeNimmt nur die ersten N Werte
takeLastNimmt die letzten N Werte
takeWhileNimmt Werte, solange eine Bedingung erfüllt ist
skipÜberspringt die ersten N Werte
skipLastÜberspringt die letzten N Werte
skipWhileÜberspringt Werte, solange eine Bedingung erfüllt ist
skipUntilÜberspringt Werte, bis ein anderes Observable auslöst
firstNimmt den ersten Wert oder den ersten Wert, der eine Bedingung erfüllt
lastNimmt den letzten Wert oder den letzten Wert, der eine Bedingung erfüllt
elementAtNimmt den Wert am angegebenen Index
findFindet den ersten Wert, der eine Bedingung erfüllt
findIndexGibt den Index des ersten Werts zurück, der eine Bedingung erfüllt
debounceTimeGibt den letzten Wert aus, wenn für eine bestimmte Zeit keine Eingabe erfolgt
throttleTimeLässt den ersten Wert durch, ignoriert neue Werte für eine bestimmte Zeit
auditTimeGibt den letzten Wert nach einer bestimmten Zeit aus
auditSteuert Zeitraum mit benutzerdefiniertem Observable und gibt letzten Wert aus
sampleTimeSampelt den neuesten Wert in festgelegten Zeitintervallen
ignoreElementsIgnoriert alle Werte, lässt nur Complete/Error durch
distinctEntfernt alle doppelten Werte (nur eindeutige Werte werden ausgegeben)
distinctUntilChangedEntfernt aufeinanderfolgende doppelte Werte
distinctUntilKeyChangedErkennt nur Änderungen einer bestimmten Objekteigenschaft
Kombination (Pipeable)concatWithKombiniert andere Observables nacheinander nach Abschluss
mergeWithKombiniert mehrere Observables gleichzeitig
combineLatestWithKombiniert die neuesten Werte jedes Observables
zipWithPaart Werte in entsprechender Reihenfolge
raceWithVerwendet nur das zuerst auslösende Observable
withLatestFromFügt andere neueste Werte zum Hauptstream hinzu
mergeAllFlacht Higher-order Observable parallel ab
concatAllFlacht Higher-order Observable sequenziell ab
switchAllWechselt zum neuesten Higher-order Observable
exhaustAllIgnoriert neue Higher-order Observables während der Ausführung
combineLatestAllKombiniert die neuesten Werte aller inneren Observables
zipAllPaart entsprechende Werte jedes inneren Observables
UtilitytapFührt Seiteneffekte aus (z.B. Log-Ausgabe)
finalizeFührt Nachverarbeitung bei Complete oder Error aus
delayVerzögert alle Werte um eine bestimmte Zeit
delayWhenVerzögert jeden Wert dynamisch mit einem anderen Observable
timeoutGibt einen Fehler aus, wenn innerhalb einer bestimmten Zeit kein Wert kommt
takeUntilNimmt Werte, bis ein anderes Observable einen Wert ausgibt
retryWiederholt bei Fehler bis zu einer bestimmten Anzahl
repeatWiederholt nach Abschluss eine bestimmte Anzahl von Malen
startWithFügt am Anfang des Streams einen Anfangswert hinzu
toArraySammelt alle Werte in einem Array und gibt sie aus
materializeKonvertiert Benachrichtigungen in Notification-Objekte
dematerializeKonvertiert Notification-Objekte zurück in normale Benachrichtigungen
observeOnSteuert das Timing der Werteausgabe mit einem Scheduler
subscribeOnSteuert das Timing des Subscription-Starts mit einem Scheduler
timestampFügt jedem Wert einen Zeitstempel hinzu
KonditionaldefaultIfEmptyGibt einen Standardwert aus, wenn keine Werte vorhanden sind
everyPrüft, ob alle Werte eine Bedingung erfüllen
isEmptyPrüft, ob keine Werte ausgegeben wurden
FehlerbehandlungcatchErrorFängt Fehler ab und führt Fallback-Verarbeitung aus
retryWiederholt bei Fehler bis zu einer bestimmten Anzahl
retryWhenWiederholt mit benutzerdefinierten Bedingungen
MulticastshareTeilt ein Observable zwischen mehreren Subscribern
shareReplayCached die neuesten N Werte und spielt sie für neue Subscriber ab

Veröffentlicht unter CC-BY-4.0-Lizenz.