События Node.js
Node.js идеально подходит для приложений, управляемых событиями.
События в Node.js
Каждое действие на компьютере — это событие. Например, при установлении соединения или открытии файла.
Объекты в Node.js могут запускать события, например, объект readStream запускает события при открытии и закрытии файла:
Пример
var fs = require('fs');
var rs = fs.createReadStream('./demofile.txt');
rs.on('open', function () {
console.log('The file is open');
});
Модуль событий
Node.js имеет встроенный модуль под названием «События», в котором вы можете создавать, запускать и прослушивать свои собственные события.
Чтобы включить встроенный модуль Events, используйте require()
метод. Кроме того, все свойства и методы событий являются экземплярами объекта EventEmitter. Чтобы получить доступ к этим свойствам и методам, создайте объект EventEmitter:
var events = require('events');
var eventEmitter = new events.EventEmitter();
Объект EventEmitter
Вы можете назначать обработчики событий своим собственным событиям с помощью объекта EventEmitter.
В приведенном ниже примере мы создали функцию, которая будет выполняться при запуске события «крик».
Чтобы запустить событие, используйте emit()
метод.
Пример
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');