Skip to content

Comprendre les opérateurs

Les opérateurs RxJS sont un ensemble de fonctions pour transformer, composer et contrôler les flux de données Observable.

Les opérateurs sont généralement utilisés en combinaison avec plusieurs autres, et c'est là qu'intervient le "pipeline".

Dans RxJS, les opérateurs se répartissent dans les catégories suivantes

Liste des catégories

Chaque catégorie contient un certain nombre d'opérateurs utiles. Voir chaque catégorie pour plus de détails.

Liste des opérateurs

Pour une description détaillée de chaque opérateur, cliquez sur le lien pour parcourir.

Liste des catégories d'opérateurs
CatégorieOpérateurDescription
TransformationmapConvertit chaque valeur
scanAccumule les valeurs et produit des résultats intermédiaires
reduceAccumule toutes les valeurs et n'émet que le résultat final
pairwiseTraite deux valeurs consécutives par paires
groupByRegroupement des flux par clé
mergeMapExécution parallèle du traitement asynchrone
switchMapExécuter uniquement le dernier traitement asynchrone (annuler les traitements plus anciens)
concatMapExécution séquentielle des processus asynchrones
exhaustMapIgnorer les nouveaux processus pendant l'exécution
expandDévelopper les résultats de manière récursive
bufferPublier des valeurs dans un tableau
bufferTimePublier des valeurs à des intervalles de temps spécifiés
bufferCountPublier des valeurs par lots d'un nombre spécifié de valeurs
bufferWhenMise en mémoire tampon avec conditions de fin contrôlées dynamiquement
bufferToggleMise en mémoire tampon avec contrôle indépendant du début et de la fin
FiltragefilterNe laisser passer que les valeurs qui correspondent à la condition
takeN'obtenir que les N premières valeurs
takeLastObtenir les N dernières valeurs
takeWhileObtenir les valeurs lorsque la condition est remplie
skipSauter les N premières valeurs
skipLastSauter les N dernières valeurs
skipWhileSauter les valeurs pendant que la condition est remplie
skipUntilSauter les valeurs jusqu'à ce qu'un autre Observable se déclenche
firstObtenir la première valeur ou la première valeur satisfaisant une condition
lastObtenir la dernière valeur ou la dernière valeur satisfaisant la condition
elementAtObtenir la valeur à un index donné
findTrouver la première valeur qui remplit une condition
findIndexObtenir l'indice de la première valeur qui satisfait la condition
debounceTimeÉmettre la dernière valeur si aucune entrée n'est reçue pendant un certain temps
throttleTimePasser la première valeur et ignorer la nouvelle valeur pendant le temps spécifié
auditTimeDélivrer la dernière valeur après le délai spécifié
auditÉmettre la dernière valeur avec un Observable personnalisé pour contrôler la période
sampleTimeÉchantillonner la dernière valeur à l'intervalle de temps spécifié
ignoreElementsIgnorer toutes les valeurs et ne transmettre que les achèvements/erreurs
distinctSupprimer toutes les valeurs en double (ne transmettre que les valeurs uniques)
distinctUntilChangedSupprimer les valeurs dupliquées consécutives
distinctUntilKeyChangedDétecter uniquement les changements de propriétés spécifiques d'un objet
Combinaison (Pipeable)concatWithRejoindre d'autres Observables dans la séquence après achèvement
mergeWithCombiner plusieurs Observables simultanément
combineLatestWithCombiner la dernière valeur de chaque Observable
zipWithAssocier les valeurs dans l'ordre correspondant
raceWithAdopter uniquement le premier Observable qui se déclenche
withLatestFromAjouter les autres valeurs les plus récentes au flux principal
mergeAllAplatir les Observables d'ordre supérieur en parallèle
concatAllAplatir les Observables d'ordre supérieur dans l'ordre
switchAllPasser à l'Observable d'ordre supérieur le plus récent
exhaustAllIgnorer le nouvel Observable d'ordre supérieur pendant l'exécution
combineLatestAllCombine les dernières valeurs de tous les Observables internes
zipAllAssocie les valeurs correspondantes de chaque Observable interne
UtilitairetapEffectuer des effets de bord (par exemple, sortie d'un journal)
finalizeEffectuer un post-traitement en cas d'achèvement ou d'erreur
delayRetarder toutes les valeurs pendant une durée déterminée
delayWhenRetarder chaque valeur dynamiquement avec un Observable séparé
timeoutÉmettre une erreur si une valeur n'arrive pas dans un délai spécifié
takeUntilRécupérer les valeurs jusqu'à ce qu'un autre Observable émette une valeur
retryRéessayer jusqu'à un nombre spécifié de fois en cas d'erreur
repeatRépéter un nombre spécifié de fois après achèvement
startWithAjoute une valeur initiale au début du flux
toArrayPublier toutes les valeurs dans un tableau
materializeConvertit une notification en un objet Notification
dematerializeReconvertir l'objet Notification en notification normale
observeOnUtiliser le scheduler pour contrôler le moment où les valeurs sont publiées
subscribeOnUtiliser le scheduler pour contrôler le moment où l'on commence à s'abonner
timestampAjouter un horodatage à chaque valeur
ConditionneldefaultIfEmptySi aucune valeur n'est disponible, émettre une valeur par défaut
everyDéterminer si toutes les valeurs satisfont à la condition
isEmptyDétermine si aucune valeur n'a été émise
Gestion des erreurscatchErrorAttraper les erreurs et effectuer un traitement de secours
retryRéessayer un certain nombre de fois en cas d'erreur
retryWhenRéessayer avec des conditions personnalisées
MultidiffusionsharePartage de l'Observable entre plusieurs abonnés
shareReplayMettre en cache les N dernières valeurs et les rediffuser aux nouveaux abonnés

Publié sous licence CC-BY-4.0.