Node.js Events
Examples
var events = require('events');
var eventEmitter = new events.EventEmitter();
var ringBell = function ringBell()
{
console.log('ring ring ring');
}
eventEmitter.on('doorOpen', ringBell);
eventEmitter.emit('doorOpen');
eventEmitter.on('doorOpen', ringBell);
eventEmitter.on(‘doorOpen’, doSomething);
eventEmitter.on(‘doorOpen’, doSomethingElse);
eventEmitter.emit('doorOpen');
eventEmitter.on(‘doorOpen’, function(ring)
{
Console.log(ring);
}
eventEmitter.emit(‘doorOpen’, ‘ringeling’);
var events = require('events');
function Door(colour) {
this.colour = colour;
events.EventEmitter.call(this);
this.open = function()
{
this.emit('open');
}
}
Door.prototype.__proto__ = events.EventEmitter.prototype;
var frontDoor = new Door('brown');
frontDoor.on('open', function() {
console.log('ring ring ring');
});
frontDoor.open();
var ring = function()
{
console.log('ring');
}
frontDoor.on('open', ring);
console.log(require('util').inspect(frontDoor.listeners('open'))); // Outputs ring
frontDoor.removeListener('open', ring);
frontDoor.removeAllListeners(‘open’);
참고