Maison > Article > Applet WeChat > Introduction aux méthodes d'utilisation des écouteurs d'événements dans le développement de mini-programmes
La surveillance des événements est souvent utilisée dans le développement. Dans les langages de programmation, un écouteur est un dispositif spécifiquement utilisé pour surveiller les événements ou les changements d'état qui se produisent sur d'autres objets et les gérer en conséquence, lorsque l'objet est utilisé. quelque chose arrive à l'objet surveillé, prenez immédiatement les mesures correspondantes. L'auditeur se caractérise par un déclenchement passif et l'exécution des événements déclencheurs est immédiate. Il existe également un tel mécanisme de traitement d'événements dans le développement de petits programmes. Toutes les opérations d'E/S asynchrones dans Node.js enverront un événement à la file d'attente des événements une fois terminées. De nombreux objets dans Node.js émettent des événements : un objet net.Server émet un événement à chaque fois qu'une nouvelle connexion est établie, et un objet fs.readStream émet un événement à l'ouverture d'un fichier. Tous ces objets générateurs d'événements sont des instances de events.EventEmitter. Alors comment utiliser les auditeurs d'événements dans la production de mini-programmes ?
Le module events ne fournit qu'un seul objet : events.EventEmitter
Le cœur d'EventEmitter est l'encapsulation des fonctions de déclenchement d'événements et d'écoute d'événements.
Chaque événement de EventEmitter se compose d'un nom d'événement et de plusieurs paramètres. Le nom de l'événement est une chaîne, qui exprime généralement certaines sémantiques. Pour chaque événement, EventEmitter prend en charge plusieurs écouteurs d'événements.
Lorsqu'un événement est déclenché, les écouteurs d'événements enregistrés pour cet événement sont appelés dans l'ordre et les paramètres de l'événement sont transmis en tant que paramètres de fonction de rappel.
//event.js 文件 var events =require(\'events\'); var emitter= new events.EventEmitter(); emitter.on(\'someEvent\',function(arg1, arg2) { console.log(\'listener1\', arg1, arg2); }); emitter.on(\'someEvent\',function(arg1, arg2) { console.log(\'listener2\', arg1, arg2); }); emitter.emit(\'someEvent\',\'arg1 参数\', \'arg2 参数\');
addListener(event, Listener) Ajoute un écouteur pour l'événement spécifié à la fin du tableau d'écouteurs.
on(event,listener) enregistre un écouteur pour l'événement spécifié, en acceptant un événement de chaîne et une fonction de rappel.
once(event,listener) enregistre un écouteur unique pour l'événement spécifié, c'est-à-dire que l'écouteur ne sera déclenché qu'une seule fois au maximum et sera libéré immédiatement après le déclenchement.
removeListener(event,listener) Supprime un auditeur pour l'événement spécifié. L'auditeur doit être un auditeur enregistré pour l'événement.
Il accepte deux paramètres, le premier est le nom de l'événement et le second est le nom de la fonction de rappel.
removeAllListeners([event]) supprime tous les écouteurs pour tous les événements. Si un événement est spécifié, supprime tous les écouteurs pour l'événement spécifié.
setMaxListeners(n) Par défaut, EventEmitters affichera un message d'avertissement si vous ajoutez plus de 10 auditeurs. La fonction setMaxListeners est utilisée pour augmenter la limite par défaut du nombre d'auditeurs.
listeners(event) renvoie le tableau d'écoute pour l'événement spécifié.
emit(event,[arg1], [arg2], […]) Exécute chaque écouteur dans l'ordre des paramètres. Si l'événement a un écouteur enregistré, il renvoie vrai, sinon il renvoie faux.
ListenerCount(emitter,event) dans la méthode de classe renvoie le nombre d'écouteurs pour l'événement spécifié.
Événements d'écoute
removeListener supprime un écouteur du tableau d'écouteurs spécifié. Il convient de noter que cette opération modifiera l'index de ces écouteurs après l'écouteur supprimé.
event - chaîne, nom de l'événement
listener - fonction de traitement d'événement
newListener Cet événement est déclenché lorsqu'un nouvel écouteur est ajouté.
event - chaîne, nom de l'événement
listener - fonction de traitement d'événement
error Il contient une sémantique d'erreur Nous déclenchons généralement l'événement d'erreur lorsque nous rencontrons une exception.
Lorsqu'une erreur est déclenchée, EventEmitter stipule que s'il n'y a pas d'écouteur qui répond, Node.js la traitera comme une exception, quittera le programme et affichera un message d'erreur. Nous devons généralement configurer des écouteurs pour les objets qui déclenchent des événements d'erreur afin d'éviter que l'ensemble du programme ne plante lorsqu'une erreur se produit.
La plupart du temps, nous n'utiliserons pas EventEmitter directement, mais en hériterons dans l'objet. Y compris fs, net, http, tant que les modules de base qui prennent en charge la réponse aux événements sont des sous-classes d'EventEmitter. L'avantage de ceci est que l'implémentation événementielle d'un objet avec une certaine fonction d'entité est conforme à la sémantique, et la surveillance et l'émission d'événements doivent être des méthodes d'un objet. Deuxièmement, le mécanisme objet de js est basé sur un prototype et prend en charge l'héritage multiple partiel. L'héritage d'EventEmitter ne perturbera pas la relation d'héritage d'origine de l'objet.
Recommandé : "Tutoriel de développement de mini-programmes"
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!