Cette fois, je vais vous apporter une explication détaillée de l'utilisation de Rxjs. Quelles sont les précautions lors de l'utilisation de Rxjs. Voici des cas pratiques, jetons un coup d'œil.
Lors de l'exécution d'un objet Observable , de zéro à une infinité de prochaines notifications sont envoyées. Si une notification d’erreur ou complète est envoyée une seule fois, aucune valeur ne sera envoyée par la suite.
L'objet observable adhère strictement à ce contrat, donc le code suivant n'enverra pas de prochaine notification contenant la valeur 4
var observable = Rx.Observable.create(function subscribe(observer) { observer.next(1); observer.next(2); observer.next(3); observer.complete(); observer.next(4); // Is not delivered because it would violate the contract});
Un bon moyen est d'utiliser try/catch L'instruction s'enroule l'instruction de notification et enverra une notification d'erreur si une exception est interceptée.
var observable = Rx.Observable.create(function subscribe(observer) {try { observer.next(1); observer.next(2); observer.next(3); observer.complete(); } catch (err) { observer.error(err); // delivers an error if it caught one} });
Désabonnement désabonnement()
Étant donné que l'exécution d'objets observables peut être infinie (continuellement ensuite), les observateurs veulent souvent le faire dans un temps limité L'exécution se termine dans, donc nous avons besoin d'une API pour annuler l'exécution.
var observable = Rx.Observable.from([10, 20, 30]);var souscription = observable.subscribe(x => console.log(x));// Plus tard:abonnement.unabonnement ();
Après votre abonnement, vous obtiendrez un objet Subscription, qui représente l'exécution en cours. N'ayez pas peur d'utiliser unsubscribe() pour terminer l'exécution.
observateur
Qu'est-ce qu'un observateur ? Les observateurs sont des consommateurs de données envoyées par les objets observables. En termes simples, les observateurs sont un ensemble de fonctions de rappel , qui correspondent respectivement à un type de notification envoyée par l'objet observable : next, error et complete. Voici un exemple d'objet observateur typique :
var observer={next:x=>console.log('Observer got a next value: ' + x),error: err => console.error('Observer got an error: ' + err),complete: () => console.log('Observer got a complete notification') }
Un observateur est simplement un objet composé d'un tableau de trois fonctions de rappel Chaque fonction de rappel correspond à la notification du. type d’objet observable.
Abonnement
Les objets d'abonnement peuvent également être placés ensemble, donc appeler unsubscribe() sur un objet d'abonnement peut annuler plusieurs abonnements. La méthode est la suivante : "ajouter" un abonnement à un autre abonnement.
var observable1 = Rx.Observable.interval(400);var observable2 = Rx.Observable.interval(300);var subscription = observable1.subscribe(x => console.log('first: ' + x));var childSubscription = observable2.subscribe(x => console.log('second: ' + x)); subscription.add(childSubscription); setTimeout(() => {// Unsubscribes BOTH subscription and childSubscriptionsubscription.unsubscribe(); }, 1000);
Après exécution, nous pouvons obtenir dans la console :
second: 0 first: 0 second: 1 first: 1 second: 2
L'abonnement a également une méthode Remove(otherSubscription), qui est utilisée pour annuler l'abonnement ajouté par add .
Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez faire attention au site Web php chinois Autres articles liés !
Lecture connexe :
Explication détaillée de l'utilisation de la bibliothèque d'outils js-xlsx xlsxUtils
Intégration des fonctions communes quotidiennes de JS
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!