Les évènements avec node.js




 

La librairie node.js events met à la portée du développeur une gestion facile des événements : émettre des événements ou encore en intercepter devient simple comme bonjour. Démonstration…..


 

Prérequis

– Savoir ce qu’est node.js (voir l’article Comprendre node.js
– avoir installé node.js (voir l’article Installer node.js sous Windows);
– savoir ce qu’est un événement (voir l’article javascript : créer des événements personnalisés custom event).
.

 

L’objet EventEmitter de node.js

node.js met à disposition du développeur la librairie events permettant de lancer et capturer des évènements.

Pour utiliser la librairie, vous avez besoin de d’instancier un objet EventEmitter comme ceci :

var eventEmitter = require('events').EventEmitter

Cet classe met à disposition plusieurs méthodes pour s’abonner à un événement ou en émettre un.

 

Emettre un événement avec node.js

Il suffit d’invoquer la méthode emit de l’objet eventEmitter :

eventEmitter.emit(event, [arg1], [arg2], [...])

L’exemple suivant émet un événement « monEvenement » en y associant des données au format json :

eventEmitter.emit("monEvenement", {"donneeA":"1","donneeB":"2"});

 

S’abonner à un événement node.js

Il suffit d’invoquer la méthode on de l’objet eventEmitter qui lorsque l’événement sera capturé lancera la fonction donnée en paramètre.

Pour faire plus, c’est la fonction donnée en paramètre qui est abonnée à l’événement :

eventEmitter.on(event, function([arg1], [arg2], [...]) {})

Un exemple d’abonnement en reprenant l’exemple du paragraphe précédent :

eventEmitter.on("monEvenement", function(data) {
  console.log(data.donneeA);
  console.log(data.donneeB);
});

 

Les autres fonctions associées aux événements node.js

– la méthode EventEmitter once qui prend les mêmes paramètres que la méthode on, abonne la fonction donnée en paramètre jusqu’au prochain déclenchement de l’événement. A la suite de quoi, l’abonnement cessera;
– la méthode EventEmitter removeListener(event, listener) désabonne une fonction à un événement : cette fonction est inutilisable si vous spécifiez une fonction anonyme en paramètres de la méthode on;
– la méthode EventEmitter removeAllListeners(event) est identique à la précédente à la différence qu’elle désabonne tout le monde sans distinction;
– la méthode EventEmitter setMaxListeners(n) spécifie le nombre maximum d’abonnements à l’événement : cette limite n’est pas contraignante puisqu’au delà un simple avertissement (warning) est donnée. Spécifier la limite à 0 ne – la méthode EventEmitter listeners(event) renvoie la liste des abonnés à l’événement.

[important]Des remarques, des améliorations, des idées, des coquilles : faites le savoir. Faites savoir si cet article vous a été utile par le biais d’un commentaire ou des réseaux sociaux.[/important]

Le prochain article vous montrera comment créer une bibliothèque javascript pour node.js dédiée à l’accès à la base de données mysql en utilisant les événements node.js.

 

Posté dans node.jsTaggé eventemitter, node.js, node.js event  |  Laisser un commentaire

Répondre

*