En node.js, un evento se puede describir simplemente como una cadena con una devolución de llamada correspondiente. Un evento se puede "emitir" (o en otras palabras, se puede llamar a la devolución de llamada correspondiente) varias veces o puede elegir escuchar solo la primera vez que se emite.
Ejemplo:-
var example_emitter = new (require('events').EventEmitter);
example_emitter.on("test", function () { console.log("test"); });
example_emitter.on("print", function (message) { console.log(message); });
example_emitter.emit("test");
example_emitter.emit("print", "message");
example_emitter.emit("unhandled");
> var example_emitter = new (require('events').EventEmitter);
{}
> example_emitter.on("test", function () { console.log("test"); });
{ _events: { test: [Function] } }
> example_emitter.on("print", function (message) { console.log(message); });
{ _events: { test: [Function], print: [Function] } }
> example_emitter.emit("test");
test
true
> example_emitter.emit("print", "message");
message
true
> example_emitter.emit("unhandled");
false
Esto demuestra toda la funcionalidad básica de un EventEmitter
. El on or addListener
método (básicamente el método de suscripción) le permite elegir el evento a vigilar y la devolución de llamada a llamar. losemit
método (el método de publicación), por otro lado, le permite "emitir" un evento, lo que hace que todas las devoluciones de llamada registradas en el evento se 'activen' (sean llamadas).
De la fuente ¿Qué son los emisores de eventos?