nodejs事件触发就是对指定事件的绑定之后,再一次的对事件进行触发的过程,在此过程中可以指定绑定哪个事件,又或者是移除哪个事件,指定事件的触发次数。
用个栗子来讲述一下:
//引入事件模块
var events = require("events");
//声明事件触发器
var eventEmitter = new events.EventEmitter();
//监听器#1
var listener1 = function listener1(){
console.log("监听器listener1执行");
}
//监听器#2
var listener2 = function listener2(){
console.log("监听器listener2执行");
}
//绑定connection事件,处理函数为listener1
eventEmitter.addListener('connection',listener1);
//绑定connection事件,处理函数为listener2
eventEmitter.on('connection',listener2);
var eventListeners = require('events').EventEmitter.listenerCount(eventEmitter,'connection');
console.log(eventListeners+"个监听器监听连接事件");
//处理connection事件
eventEmitter.emit('connection');
//移除监绑定的listener1函数
eventEmitter.removeListener('connection',listener1);
console.log("listener1不再受监听");
//触发连接事件
eventEmitter.emit('connection');
eventListeners = require('events').EventEmitter.listenerCount(eventEmitter,'connection');
console.log(eventListeners+'个监听器监听连接事件');
console.log("程序执行完毕");
通过上述的栗子可以看到,绑定时间有两种办法,一种是addListener(),另一种是on。触发事件是emit。移除监听事件为removeListener()。
require('events').EvenetEmitter.listenerCout();可以获取监听的个数