Eventos de Node.js


Node.js es perfecto para aplicaciones basadas en eventos.


Eventos en Node.js

Cada acción en una computadora es un evento. Como cuando se realiza una conexión o se abre un archivo.

Los objetos en Node.js pueden activar eventos, como el objeto readStream activa eventos al abrir y cerrar un archivo:

Ejemplo

var fs = require('fs');
var rs = fs.createReadStream('./demofile.txt');
rs.on('open', function () {
  console.log('The file is open');
});

Módulo de Eventos

Node.js tiene un módulo incorporado, llamado "Eventos", donde puede crear, disparar y escuchar sus propios eventos.

Para incluir el módulo de eventos integrado, utilice el require() método. Además, todas las propiedades y métodos de eventos son una instancia de un objeto EventEmitter. Para poder acceder a estas propiedades y métodos, cree un objeto EventEmitter:

var events = require('events');
var eventEmitter = new events.EventEmitter();

El objeto EventEmitter

Puede asignar controladores de eventos a sus propios eventos con el objeto EventEmitter.

En el siguiente ejemplo, hemos creado una función que se ejecutará cuando se dispare un evento de "grito".

Para disparar un evento, use el emit()método.

Ejemplo

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