RxJS - Opérateurs

Les opérateurs sont une partie importante de RxJS. Un opérateur est une fonction pure qui prend observable comme entrée et la sortie est également une observable.

Travailler avec les opérateurs

Un opérateur est une fonction pure qui prend observable comme entrée et la sortie est également une observable.

Pour travailler avec des opérateurs, nous avons besoin d'une méthode pipe ().

Exemple d'utilisation de pipe ()

let obs = of(1,2,3); // an observable
obs.pipe(
   operator1(),
   operator2(),
   operator3(),
   operator3(),
)

Dans l'exemple ci-dessus, nous avons créé une observable en utilisant of()méthode qui prend les valeurs 1, 2 et 3. Maintenant, sur cette observable, vous pouvez effectuer différentes opérations en utilisant n'importe quel nombre d'opérateurs en utilisant la méthode pipe () comme indiqué ci-dessus. L'exécution des opérateurs se poursuivra séquentiellement sur l'observable donnée.

Voici un exemple de travail -

import { of } from 'rxjs';
import { map, reduce, filter } from 'rxjs/operators';

let test1 = of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
let case1 = test1.pipe(
   filter(x => x % 2 === 0),
   reduce((acc, one) => acc + one, 0)
)
case1.subscribe(x => console.log(x));

Production

30

Dans l'exemple ci-dessus, nous avons utilisé l'opérateur de filtre qui filtre les nombres pairs et, ensuite, nous avons utilisé reduce() opérateur qui ajoutera les valeurs paires et donnera le résultat lors de l'inscription.

Voici une liste d'observables dont nous allons discuter.

  • Creation
  • Mathematical
  • Join
  • Transformation
  • Filtering
  • Utility
  • Conditional
  • Multicasting
  • La gestion des erreurs

Opérateurs de création

Voici les opérateurs dont nous allons parler dans la catégorie Opérateur de création -

Sr.Non Opérateur et description
1 Ajax

Cet opérateur fera une requête ajax pour l'URL donnée.

2 de

Cet opérateur créera un observable à partir d'un tableau, d'un objet de type tableau, d'une promesse, d'un objet itérable ou d'un objet de type observable.

3 fromEvent

Cet opérateur donnera la sortie comme une observable qui doit être utilisée sur les éléments qui émettent un événement, par exemple des boutons, des clics, etc.

4 fromEventPattern

Cet opérateur créera un observable à partir de la fonction d'entrée utilisée pour enregistrer les gestionnaires d'événements.

5 intervalle

Cet opérateur créera un observable à chaque fois pour le temps donné.

6 de

Cet opérateur prendra les arguments passés et les convertira en observables.

sept intervalle

Cet opérateur créera un observable qui vous donnera une séquence de nombres basée sur la plage fournie.

8 throwError

Cet opérateur créera un observable qui notifiera une erreur.

9 minuteur

Cet opérateur créera une observable qui émettra la valeur après l'expiration du délai et la valeur continuera d'augmenter après chaque appel.

dix si

Cet opérateur décidera quel Observable sera abonné.

Opérateurs mathématiques

Voici les opérateurs que nous allons discuter dans la catégorie Opérateurs mathématiques -

Sr.Non Opérateur et description
1 Compter

L'opérateur count () prend un Observable avec des valeurs et le convertit en un Observable qui donnera une valeur unique

2 Max

La méthode Max prendra une observable avec toutes les valeurs et retournera une observable avec la valeur max

3 Min

La méthode Min prendra dans une observable avec toutes les valeurs et retournera une observable avec la valeur min.

4 Réduire

Dans l'opérateur de réduction, la fonction d'accumulateur est utilisée sur l'observable d'entrée et la fonction d'accumulateur renverra la valeur accumulée sous la forme d'une observable, avec une valeur de départ facultative transmise à la fonction d'accumulateur.

La fonction reduction () prendra en 2 arguments, une fonction d'accumulateur et en second lieu la valeur de départ.

Rejoignez les opérateurs

Voici les opérateurs dont nous allons parler dans la catégorie des opérateurs Join.

Sr.Non Opérateur et description
1 concat

Cet opérateur émettra séquentiellement l'Observable donné en entrée et passera au suivant.

2 fourchette

Cet opérateur sera pris dans un tableau ou un objet dict comme entrée et attendra que l'observable se termine et retournera les dernières valeurs émises par l'observable donnée.

3 fusionner

Cet opérateur prendra en entrée l'observable et émettra toutes les valeurs de l'observable et émettra une seule sortie observable.

4 course

Il rendra une observable qui sera une copie miroir de la première source observable.

Opérateurs de transformation

Voici les opérateurs dont nous allons parler dans la catégorie Opérateur de transformation.

Sr.Non Opérateur et description
1 tampon

Le tampon fonctionne sur une observable et prend en argument comme observable. Il commencera à mettre en mémoire tampon les valeurs émises sur son observable d'origine dans un tableau et émettra la même chose lorsque l'observable prise comme argument, émettra. Une fois que l'observable pris en tant qu'arguments est émis, le tampon est réinitialisé et recommence la mise en mémoire tampon sur l'original jusqu'à ce que l'observable d'entrée émette et que le même scénario se répète.

2 bufferCount

Dans le cas de l'opérateur buffercount (), il collectera les valeurs de l'observable sur laquelle il est appelé et émettra la même chose lorsque la taille de tampon donnée à buffercount correspond.

3 bufferTime

Ceci est similaire à bufferCount, donc ici, il collectera les valeurs de l'observable sur laquelle il est appelé et émettra le bufferTimeSpan est terminé. Il prend en 1 argument ie bufferTimeSpan .

4 bufferToggle

Dans le cas de bufferToggle (), il prend 2 arguments, openings et closingSelector. Les arguments d'ouverture sont souscriptibles ou promettent de démarrer le buffer et le second argument closingSelector est à nouveau souscriptible ou promettent à un indicateur de fermer le buffer et d'émettre les valeurs collectées.

5 bufferLorsque

Cet opérateur donnera les valeurs sous forme de tableau, il prend un argument comme fonction qui décidera quand fermer, émettre et réinitialiser le tampon.

6 développer

L'opérateur d'expansion prend une fonction comme argument qui est appliqué sur l'observable source de manière récursive et également sur l'observable en sortie. La valeur finale est une observable.

sept par groupe

Dans l'opérateur groupBy, la sortie est regroupée en fonction d'une condition spécifique et ces éléments de groupe sont émis en tant que GroupedObservable.

8 carte

Dans le cas de l'opérateur de carte, une fonction projet est appliquée sur chaque valeur de la source Observable et la même sortie est émise en tant qu'observable.

9 carte pour

Une valeur constante est donnée en sortie avec l'Observable chaque fois que l'Observable source émet une valeur.

dix mergeMap

Dans le cas de l'opérateur mergeMap, une fonction de projet est appliquée sur chaque valeur source et la sortie de celle-ci est fusionnée avec la sortie Observable.

11 switchMap

Dans le cas de l'opérateur switchMap, une fonction de projet est appliquée sur chaque valeur source et la sortie de celle-ci est fusionnée avec la sortie Observable, et la valeur donnée est la plus récente Observable projetée.

12 la fenêtre

Il prend un argument windowboundaries qui est une observable et renvoie une observable imbriquée chaque fois que les windowboundaries données émettent

Opérateurs de filtrage

Voici les opérateurs dont nous allons parler dans la catégorie des opérateurs de filtrage.

Sr.Non Opérateur et description
1 rebondir

Une valeur émise par la source Observable après un certain temps et l'émission est déterminée par une autre entrée donnée comme Observable ou Promise.

2 debounceTime

Il n'émettra de la valeur de la source observable qu'une fois le temps écoulé.

3 distinct

Cet opérateur donnera toutes les valeurs de l'observable source qui sont distinctes par rapport à la valeur précédente.

4 elementAt

Cet opérateur donnera une valeur unique de l'observable source en fonction de l'indice donné.

5 filtre

Cet opérateur filtrera les valeurs de la source Observable en fonction de la fonction de prédicat donnée.

6 première

Cet opérateur donnera la première valeur émise par la source Observable.

sept dernier

Cet opérateur donnera la dernière valeur émise par la source Observable.

8 ignoreElements

Cet opérateur ignorera toutes les valeurs de la source Observable et n'exécutera que les appels aux fonctions de rappel complètes ou d'erreur.

9 échantillon

Cet opérateur donnera la valeur la plus récente de la source Observable, et la sortie dépendra de l'argument qui lui sera transmis.

dix sauter

Cet opérateur rendra une observable qui sautera la première occurrence des éléments de comptage pris en entrée.

11 Manette de Gaz

Cet opérateur sortira et ignorera les valeurs de la source observable pendant le temps déterminé par la fonction d'entrée prise comme argument et le même processus sera répété.

Opérateurs de services publics

Voici les opérateurs dont nous allons parler dans la catégorie des opérateurs de services publics.

Sr.Non Opérateur et description
1 robinet

Cet opérateur aura la sortie, identique à l'observable source, et peut être utilisé pour enregistrer les valeurs à l'utilisateur à partir de l'observable. La valeur principale, l'erreur le cas échéant ou si la tâche est terminée.

2 retard

Cet opérateur retarde les valeurs émises par la source Observable en fonction du délai imparti.

3 délaiLorsque

Cet opérateur retarde les valeurs émises depuis la source Observable en fonction du timeout d'une autre observable prise en entrée.

4 observerOn

Cet opérateur basé sur le planificateur d'entrée réémettra les notifications de la source Observable.

5 s'abonner

Cet opérateur permet de s'abonner asynchrone à la source Observable en fonction de l'ordonnanceur pris en entrée.

6 intervalle de temps

Cet opérateur renverra un objet qui contient la valeur actuelle et le temps écoulé entre la valeur actuelle et la valeur précédente qui est calculée à l'aide de l'entrée du planificateur prise.

sept horodatage

Renvoie l'horodatage ainsi que la valeur émise par la source Observable qui indique l'heure à laquelle la valeur a été émise.

8 temps libre

Cet opérateur lèvera une erreur si la source Observable n'émet pas de valeur après le délai imparti.

9 toArray

Accumule toute la valeur source de l'Observable et les sort sous forme de tableau lorsque la source se termine.

Opérateurs conditionnels

Voici les opérateurs dont nous allons parler dans la catégorie des opérateurs conditionnels.

Sr.Non Opérateur et description
1 defaultIfEmpty

Cet opérateur renverra une valeur par défaut si l'observable source est vide.

2 chaque

Il retournera un Observable basé sur la fonction d'entrée qui satisfait la condition sur chacune des valeurs de la source Observable.

3 trouver

Cela renverra l'observable lorsque la première valeur de la source Observable satisfait la condition de la fonction de prédicat prise en entrée.

4 findIndex

Cet opérateur basé sur le planificateur d'entrée réémettra les notifications de la source Observable.

5 est vide

Cet opérateur donnera à la sortie la valeur true si l'observable d'entrée effectue un rappel complet sans émettre de valeurs et false si l'observable d'entrée émet des valeurs.

Opérateurs de multidiffusion

Voici les opérateurs dont nous allons parler dans la catégorie des opérateurs de multidiffusion.

Sr.Non Opérateur et description
1 multidiffusion

Un opérateur de multidiffusion partage l'abonnement unique créé avec d'autres abonnés. Les paramètres pris en charge par la multidiffusion sont un sujet ou une méthode de fabrique qui retourne un ConnectableObservable qui a la méthode connect (). Pour vous abonner, la méthode connect () doit être appelée.

2 publier

Cet opérateur rend ConnectableObservable et doit utiliser la méthode connect () pour s'abonner aux observables.

3 publierComportement

publishBehaviour utilise BehaviourSubject et renvoie ConnectableObservable. La méthode connect () doit être utilisée pour s'abonner à l'observable créée.

4 publierDernier

publishBehaviour utilise AsyncSubject et renvoie ConnectableObservable. La méthode connect () doit être utilisée pour s'abonner à l'observable créée.

5 publierReplay

publishReplay utilise un sujet de comportement dans lequel il peut mettre en mémoire tampon les valeurs et les rejouer aux nouveaux abonnés et renvoie ConnectableObservable. La méthode connect () doit être utilisée pour s'abonner à l'observable créée.

6 partager

C'est un alias pour l'opérateur mutlicast () avec la seule différence que vous n'avez pas besoin d'appeler manuellement la méthode connect () pour démarrer l'abonnement.

Opérateurs de gestion des erreurs

Voici les opérateurs dont nous allons parler dans la catégorie des opérateurs de gestion des erreurs.

Sr.Non Opérateur et description
1 catchError

Cet opérateur se charge de détecter les erreurs sur la source Observable en renvoyant un nouvel Observable ou une erreur.

2 retenter

Cet opérateur se chargera de réessayer sur la source Observable s'il y a une erreur et la nouvelle tentative sera effectuée en fonction du nombre d'entrées donné.