Événements Node.js


Node.js est parfait pour les applications événementielles.


Événements dans Node.js

Chaque action sur un ordinateur est un événement. Comme lorsqu'une connexion est établie ou qu'un fichier est ouvert.

Les objets dans Node.js peuvent déclencher des événements, comme l'objet readStream déclenche des événements lors de l'ouverture et de la fermeture d'un fichier :

Exemple

var fs = require('fs');
var rs = fs.createReadStream('./demofile.txt');
rs.on('open', function () {
  console.log('The file is open');
});

Module Événements

Node.js a un module intégré, appelé "Events", où vous pouvez créer, déclencher et écouter vos propres événements.

Pour inclure le module Events intégré, utilisez la require() méthode. De plus, toutes les propriétés et méthodes d'événement sont une instance d'un objet EventEmitter. Pour pouvoir accéder à ces propriétés et méthodes, créez un objet EventEmitter :

var events = require('events');
var eventEmitter = new events.EventEmitter();

L'objet EventEmitter

Vous pouvez affecter des gestionnaires d'événements à vos propres événements avec l'objet EventEmitter.

Dans l'exemple ci-dessous, nous avons créé une fonction qui sera exécutée lorsqu'un événement "cri" est déclenché.

Pour déclencher un événement, utilisez la emit()méthode.

Exemple

var events = require('events');
var eventEmitter = new events.EventEmitter();

//Create an event handler:
var myEventHandler = function () {
  console.log('I hear a scream!');
}

//Assign the event handler to an event:
eventEmitter.on('scream', myEventHandler);

//Fire the 'scream' event:
eventEmitter.emit('scream');