事件队列的核心:事件触发与事件监听器功能的封装。
// 引入 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');