node(2) EventEmitter类 事件队列 事件和error事件方法


事件队列的核心:事件触发与事件监听器功能的封装。


// 引入 events 模块
var events = require('events');
// 创建 eventEmitter 对象
var eventEmitter = new events.EventEmitter();


eventEmitter.on('some_event', function() {
    console.log('some_event 事件触发');
});
setTimeout(function() {
    eventEmitter.emit('some_event');
}, 1000);两种绑定事件监听的方式


// 绑定 connection 事件,处理函数为 listener1
eventEmitter.addListener('connection', listener1);

// 绑定 connection 事件,处理函数为 listener2
eventEmitter.on('connection', listener2);

listenerCount:监听器监听事件的个数


removeListener:移除监听

error事件:触发error事件的对象设置监听器,避免遇到错误后整个程序崩溃


var events = require('events');
var emitter = new events.EventEmitter();
emitter.emit('error');