Le Tutoriel de NodeJS EventEmitter
1. NodeJS EventEmitter
var fs = require('fs');
// Create a stream to read file
var rs = fs.createReadStream('C:/test/demo.txt');
// The event 'open':
rs.on('open', function() {
console.log('File opened!');
});
2. Exemple de EventEmitter
// Import events module
var events = require('events');
// Create an EventEmitter object
var eventEmitter = new events.EventEmitter();
// Add Event Listener
eventEmitter.addListener('bellRing', bellRingHandler1);
// Add Event Listener
eventEmitter.addListener('bellRing', bellRingHandler2);
// Fire bellRing event!!
eventEmitter.emit('bellRing', 'Jerry');
// Import events module
var events = require('events');
// Create an eventEmitter object
var eventEmitter = new events.EventEmitter();
// A Listener
var bellRingHandler1 = function bellRingHandler1(who) {
console.log("\n");
console.log('The Bell Ringing..... (Handler 1)');
console.log(" " + who + " was standing behind the door!");
if(who == 'Jerry') {
console.log(' Tom, help me!!');
return;
}
console.log(" Welcome " + who);
}
// A Listener
var bellRingHandler2 = function bellRingHandler2(who) {
console.log("\n");
console.log('The Bell Ringing..... (Handler 2)');
eventEmitter.emit("nobodyIsAtHome");
}
// A Listener
var nobodyIsAtHomeHandler = function nobodyIsAtHomeHandler() {
console.log("\n");
console.log(" Sorry, Nobody is at home now, Please leave your message!")
}
// Add Event Listeners
eventEmitter.addListener('bellRing', bellRingHandler1);
eventEmitter.addListener('bellRing', bellRingHandler2);
eventEmitter.addListener('nobodyIsAtHome', nobodyIsAtHomeHandler);
// ----- Testing ------
// Fire bellRing event!!
eventEmitter.emit('bellRing', 'Jerry');
node eventemitter-examples/first-example.js
3. EventEmitter Class
No | Méthode | Description |
1 | addListener(event, listener) | Ajoutez un listener à la fin du tableau de listeners pour l'événement précis. Cette méthode ne vérifie si ce listener a été ajouté ou non. |
2 | on(event, listener) | Cette méthode est identique exactement 100% à celle de addListener. |
3 | once(event, listener) | Ajoutez un listener au tableau listeners de l'événement précis. Mais ce listener a été appelé une seul fois lorsqu'un événement se déroule. Puis il est enlevé du tableau. |
4 | removeListener(event, listener) | Enlevez un listener du tableau des listeners de l'évếnmênt précis. Si un listener a été ajouté à ce tableau plusieurs fois, afin d'enlever ce listener vous devez appeler cette méthode plusieurs fois. |
5 | removeAllListeners([event]) | Enlevez tous les listener, ou supprimez tous les listener de l'événement précis. |
6 | setMaxListeners(n) | Par défaut, EventEmitter imprimera un avertissement si plus de 10 listener ont été ajoutés à un événement précis. C'est un défaut util qui permet de trouver des fuites de mémoire (memory leaks). Bien évidemment, vous pouvez personnaliser un autre numéro ou le mettez 0 si vous voulez qu'il est illimité (unlimited). |
7 | listeners(event) | Renvoie un tableau de listener à l'événement précis. |
8 | emit(event, [arg1], [arg2], [...]) | Exécutez chaque listener dans le tableau, avec des paramètres. Renvoie true si le tableau a au moins un listener, si non, renvoie false. |
Tutoriels de programmation NodeJS
- Introduction à NodeJs
- Qu'est-ce que NPM?
- Le Tutoriel de NodeJS pour débutant
- Installer Atom Editor
- Installer NodeJS sur Windows
- Le Tutoriel de NodeJS Module
- Le concept de Callback dans NodeJS
- Créer un HTTPServer simple avec NodeJS
- Comprendre Event Loop dans NodeJS
- Le Tutoriel de NodeJS EventEmitter
- Connectez-vous à la base de données MySQL dans NodeJS