转载:http://www.cnblogs.com/zhongweiv/p/nodejs_events.html
目录
- 简介及资料
- 事件常用函数及使用
- emitter.on(event, listener)
- emitter.emit(event, [arg1], [arg2], [...])
- emitter.once(event, listener)
- emitter.removeListener(event, listener)
- emitter.removeAllListeners([event])
- emitter.listeners(event)
- emitter.setMaxListeners(n)
- 其它...
简介及资料
http://nodejs.org/api/events.html
http://www.infoq.com/cn/articles/tyq-nodejs-event
events是node.js 最重要的模块,events 模块只提供了一个对象events.EventEmitter,EventEmitter 的核心是事件发射与事件监听器。
- Node.js中大部分的模块,都继承自Event模块。
- 与DOM树上事件不同,不存在事件冒泡、逐层捕获等行为。
- EventEmitter 支持若干个事件监听器。当事件发射时,注册到这个事件的事件监听器被依次调用,事件参数作为回调函数参数传递。
如何访问:
require('events');
emitter.on(event, listener)
/* 调用events模块,获取events.EventEmitter对象 */ var EventEmitter = require('events').EventEmitter; var ee = new EventEmitter(); /* EventEmitter.on(event, listener) 为事件注册一个监听 参数1:event 字符串,事件名 参数2:回调函数 */ ee.on('some_events', function(foo, bar) { console.log("第1个监听事件,参数foo=" + foo + ",bar="+bar ); }); console.log('第一轮'); ee.emit('some_events', 'Wilson', 'Zhong'); console.log('第二轮'); ee.emit('some_events', 'Wilson', 'Z');