É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');