Руководство NodeJS EventEmitter
View more Tutorials:
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!'); });
Listener

// 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

No | Метод | Описание |
---|---|---|
1 | addListener(event, listener) | Добавить listener в конце массива listeners для определенных событий. Этот метод не проверяет был ли listener добавлен когда-либо, или нет. |
2 | on(event, listener) | Этот метод 100% похож на метод addListener. |
3 | once(event, listener) | Добавить listener в массив listeners определенного массива. Но этот listener вызывается только 1 раз при происхождении события. Потом он удаляется из массива. |
4 | removeListener(event, listener) | Удаляет listener из массива listeners определенного события. Если listener добавлен в данный массив много раз, чтобы удалить все эти listener вам нужно вызвать этот метод много раз. |
5 | removeAllListeners([event]) | Удалить все listener, или удалить все listener определенного события. |
6 | setMaxListeners(n) | По умолчанию, EventEmitter распечатает предупреждение если будут добавлены более 10 listener в определенное событие. Это полезная настройка по умолчанию, которая помогает найти утечки памяти(memory leaks). Вы можете настроить другое число, или настроить как 0 для безлимита (unlimited). |
7 | listeners(event) | Возвращает массив listener определенному событию. |
8 | emit(event, [arg1], [arg2], [...]) | Поочередно выполняет listener в массиве, с параметрами. Возвращает true если массив иммет минимум один listener, и наоборот возвращает false. |