node.js-事件 笔记
/** * NODE.JS事件模块笔记 * S1.访问事件模块 * var EventEmitter = require('events').EventEmitter; * var eventEmitter = new EventEmitter(); * S2.事件模块主要API * P1.绑定事件 * 事件绑定 * eventEmitter.on/addListener((var)eventName,(fun)listener); * 事件绑定,只触发一次,触发一次后移除监听 * eventEmitter.once((var)eventName,(fun)listener); * 事件绑定 * eventEmitter.prependListener((var)eventName,(fun)listener); * 事件绑定,只触发一次 * eventEmitter.prependOnceListener((var)eventName,(fun)listener); * prependListener、prependOnceListener分别对应on、once,区别在于prepend*方法将监听器插入到监听器列表的开头,优先执行。 * on/once依次阻塞执行,先添加先执行,prependListener、prependOnceListener添加到表头,后添加先执行。 * * P2.事件触发 * 事件触发,事件没有执行返回false * eventEmitter.emit((var)eventName, [arg1], [arg2], [...]) * * P3.事件设置 * 事件设置,设置最大可以设置的监听事件数量,默认是10 * eventEmitter.setMaxListeners(n) * * P4.事件移除 * 事件移除-一个 * eventEmitter.removeListener((var)eventName, (fun)callbackListener) * 事件移除-全部,eventName为空移除全部 * eventEmitter.removeAllListeners((var)eventName) * * P4.事件获取 * 事件获取,返回eventName事件数组 * eventEmitter.listeners((var)eventName) * * 其他 * 监听添加新事件 * eventEmitter.addListener('newListener',(fun)listener) * * 参考: * https://nodejs.org/api/events.html#events_event_newlistener * http://www.cnblogs.com/zhongweiv/p/nodejs_events.html * http://blog.csdn.net/zccz14/article/details/51463715 */