Maison > Article > interface Web > Explication détaillée de Observable (objet observable) dans Angular
Cet article vous fera découvrir Angular Observable. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
Recommandations de didacticiel associées : "tutoriel angulaire"
Les objets observables prennent en charge la transmission de messages entre éditeurs et abonnés de votre application.
Les observables sont déclaratifs, c'est-à-dire une fonction définie qui publie une valeur qui ne s'exécutera pas réellement tant qu'un consommateur ne s'y abonnera pas.
Trois types de notifications qu'un objet observable peut émettre :
通知类型 | 说明 |
---|---|
next | 必要。用来处理每个送达值。在开始执行后可能执行零次或多次。 |
error | 可选。用来处理错误通知。错误会中断这个可观察对象实例的执行过程。 |
complete | 可选。用来处理执行完毕(complete)通知。当执行完毕后,这些值就会继续传给下一个处理器。 |
Définir les observateurs
Observateur : Le processeur utilisé pour recevoir les notifications des objets observables doit implémenter l'interface Observer. Cet objet définit certaines fonctions de rappel pour gérer les notifications qui peuvent être envoyées par l'objet observable. notifications.
Les objets Observer peuvent définir n'importe quelle combinaison de ces trois processeurs. Si vous ne fournissez pas de gestionnaire pour un certain type de notification, l'observateur ignorera les notifications de ce type.
// Create observer object const myObserver = { next: (_data) => { // next通知类型处理器 }, error: err => { // error通知类型处理器 }, complete: () => console.log('Observer got a complete notification'), };
S'abonner
Une instance Observable publiera une valeur uniquement lorsqu'une instance de l'Observable est abonnée. Lors de votre inscription, vous devez d'abord appeler la méthode subscribe() de l'instance et lui transmettre un objet observateur pour recevoir des notifications.
Syntaxe : Observable.subscribe(ObserverObject)
, où Observable est l'instance d'objet observable et ObserverObject est l'objet observateur.
// 官网示例 // Create simple observable that emits three values const myObservable = of(1, 2, 3); // Create observer object const myObserver = { 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'), }; // Execute with the observer object myObservable.subscribe(myObserver); // Logs: // Observer got a next value: 1 // Observer got a next value: 2 // Observer got a next value: 3 // Observer got a complete notification
De plus, la méthode Subscribe() peut également recevoir des fonctions de rappel définies dans la même ligne, qu'il s'agisse d'un gestionnaire suivant, d'erreur ou complet. Par exemple, l'appel Subscribe() suivant est équivalent à l'exemple précédent de spécification d'un observateur prédéfini.
myObservable.subscribe( x => console.log('Observer got a next value: ' + x), err => console.error('Observer got an error: ' + err), () => console.log('Observer got a complete notification') );
Remarque : Dans les deux cas, le gestionnaire de type de notification suivant est nécessaire, tandis que les gestionnaires d'erreur et complet sont facultatifs. L'appel
subscribe() renvoie un objet Subscription qui a une méthode unsubscribe()
. Lorsque cette méthode est appelée, vous ne recevez plus de notifications.
Pour plus de connaissances sur la programmation, veuillez visiter : Vidéo de programmation ! !
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!