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é. |