Eventos Node.js
O Node.js é perfeito para aplicativos orientados a eventos.
Eventos no Node.js
Cada ação em um computador é um evento. Como quando uma conexão é feita ou um arquivo é aberto.
Objetos no Node.js podem disparar eventos, como o objeto readStream dispara eventos ao abrir e fechar um arquivo:
Exemplo
var fs = require('fs');
var rs = fs.createReadStream('./demofile.txt');
rs.on('open', function () {
console.log('The file is open');
});
Módulo de eventos
O Node.js tem um módulo integrado, chamado "Events", onde você pode criar, disparar e ouvir seus próprios eventos.
Para incluir o módulo de Eventos integrado, use o require()
método. Além disso, todas as propriedades e métodos de eventos são uma instância de um objeto EventEmitter. Para poder acessar essas propriedades e métodos, crie um objeto EventEmitter:
var events = require('events');
var eventEmitter = new events.EventEmitter();
O objeto EventEmitter
Você pode atribuir manipuladores de eventos aos seus próprios eventos com o objeto EventEmitter.
No exemplo abaixo criamos uma função que será executada quando um evento "scream" for acionado.
Para disparar um evento, use o emit()
método.
Exemplo
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');