Comment utiliser le lanceur nodejs

WBOY
Libérer: 2023-05-23 18:01:07
original
424 Les gens l'ont consulté

Node.js est un environnement d'exécution JavaScript pour les applications réseau évolutives qui utilise un modèle d'E/S non bloquant et piloté par les événements. Node émetteur (Emitter) est un module de communication de données interactif fourni par Node.js. Il peut implémenter le mode observateur entre les objets, afin qu'un objet puisse être surveillé par plusieurs utilisateurs en même temps, et automatiquement lorsque l'état de l'objet change. tous les utilisateurs. Dans cet article, nous présenterons comment utiliser l'émetteur de Node.js pour implémenter la surveillance des objets et le déclenchement d'événements.

Tout d’abord, nous devons comprendre quelques concepts de base des lanceurs. Emitter est un module intégré de Node.js qui implémente un mécanisme de gestion d'événements. Il s'agit d'un déclencheur d'événements qui fournit les fonctions d'enregistrement d'événements, d'émission d'événements et de suppression des écouteurs d'événements. Dans Node.js, la plupart des modules héritent de la classe EventEmitter, ils disposent donc tous d'une instance d'émetteur qu'ils peuvent utiliser pour implémenter la gestion des événements.

Avant d'utiliser le lanceur, nous devons comprendre quelques connaissances de base. Tout d'abord, pour créer une instance d'émetteur, nous devons introduire le module events et créer un objet EventEmitter. Le code est le suivant :

const EventEmitter = require('events');
const emitter = new EventEmitter();
Copier après la connexion

Ici, nous utilisons la fonction require pour introduire le module intégré. d'événements Node.js et créé un objet EventEmitter emitter pour l'émission et la surveillance d'événements. require函数引入了Node.js的内置模块events,并创建了一个EventEmitter对象emitter,用于事件的发射和监听。

然后,我们需要实现事件的注册、处理和移除。对于事件的注册和移除,我们可以使用onoff方法,而对于事件的处理,我们可以使用emit方法。下面是一些基本的例子:

function callback() {
  console.log('event is emitted');
}

// 注册事件监听器,监听event事件
emitter.on('event', callback);

// 触发event事件,会自动调用callback函数
emitter.emit('event');

// 移除event事件监听器,不再监听event事件
emitter.off('event', callback);
Copier après la connexion

在上面的例子中,我们使用了on方法注册了一个事件监听器。当事件'event'被发射时,会自动调用callback函数。然后,我们使用emit方法发射了事件'event',从而触发了callback函数。最后,我们使用off方法移除了callback函数对事件'event'的监听。

除了onoffemit方法外,我们还可以使用其他一些方法来操作发射器。其中,once方法和on方法差不多,不同之处在于once方法会在事件被发射一次后自动删除事件监听器。此外,prependListener方法可以将事件监听器插入到事件监听器列表的最前面,而prependOnceListener方法则是将事件监听器提供到监听器列表中的最前面,并且只会调用一次。

// 在所有事件监听器之前添加事件监听器
emitter.prependListener('event', callback);

// 在所有事件监听器之前添加事件监听器,只会调用一次
emitter.prependOnceListener('event', callback);
Copier après la connexion

当然,我们还可以使用eventNames

Ensuite, nous devons mettre en œuvre l'inscription, le traitement et la suppression de l'événement. Pour l'enregistrement et la suppression d'événements, nous pouvons utiliser les méthodes on et off, et pour le traitement des événements, nous pouvons utiliser la méthode emit. Voici quelques exemples de base :

const eventNames = emitter.eventNames();
console.log(eventNames);
// ['event']
Copier après la connexion
Dans l'exemple ci-dessus, nous avons utilisé la méthode on pour enregistrer un écouteur d'événement. Lorsque l'événement 'event' est émis, la fonction callback sera automatiquement appelée. Ensuite, nous utilisons la méthode emit pour émettre l'événement 'event', qui déclenche la fonction callback. Enfin, nous utilisons la méthode off pour supprimer la surveillance par la fonction callback de l'événement 'event'. 🎜🎜En plus des méthodes on, off et emit, nous pouvons également utiliser d'autres méthodes pour faire fonctionner l'émetteur. Parmi elles, la méthode once est similaire à la méthode on. La différence est que la méthode once supprimera automatiquement l'écouteur d'événement après l'événement. est émis une seule fois. De plus, la méthode prependListener peut insérer l'écouteur d'événement au début de la liste des écouteurs d'événements, et la méthode prependOnceListener fournit l'écouteur d'événements en haut de la liste des écouteurs. devant et ne sera appelé qu’une seule fois. 🎜rrreee🎜Bien sûr, nous pouvons également utiliser la méthode eventNames pour obtenir la liste des noms de tous les événements enregistrés sur l'objet actuel. 🎜rrreee🎜 Dans l'ensemble, utiliser l'émetteur de Node.js est un moyen de communication très utile. Les émetteurs nous permettent d'établir des relations de couplage lâches entre les objets, réduisant ainsi la complexité des applications et les coûts de maintenance. Grâce aux émetteurs, nous pouvons facilement mettre en œuvre la communication de données et la gestion des événements entre les objets, améliorant ainsi la fiabilité et l'évolutivité de nos applications. 🎜

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal