EventEmitter
一:引入模板
// 引入 events 模块
var events = require('events');
// 创建 eventEmitter 对象
var eventEmitter = new events.EventEmitter();
二创建eventEmitter实例
一个eventEmitter可以绑定许多监听器
eventEmitter.on("someEvent",function(){
console.log("event1");
})
eventEmitter.on("someEvent",function(){
console.log("event2");
})
var eventEmitter=new event.eventEmitter();
三绑定事件
1 on(event, listener)为指定事件注册一个监听器,接受一个字符串 event 和一个回调函数。
2once(event, listener)
为指定事件注册一个单次监听器,即 监听器最多只会触发一次,触发后立刻解除该监听器。
/*eventEmitter.on("functionName",callFunction)*/
eventEmitter.on("someEvent",function(){
console.log("event");
})
执行函数
/*eventEmitter.emit("functionName")*/
//这里的函数名字和上面绑定的函数名字一样
eventEmitter.emit("smoeEvent")
添加监听器
addListener(event, listener)
**
移除监听器
addListener(event, listener)
**
具体应用
var events = require('events');
var events = require('events');
//监听事件1
var eventEmitter = new events.EventEmitter();
function listener1() {
console.log("listener1");
}
//监听事件2
function listener2() {
console.log("listener2");
}
//添加监听器
eventEmitter.addListener("connect", listener1);
eventEmitter.on("connect", listener2);
//检测有多少个监听器
var eventEmitters = eventEmitter.listenerCount("connect");
console.log(eventEmitters + "个"); //2
eventEmitter.emit("connect");
//移除监听器
eventEmitter.removeListener("connect", listener1);
console.log("listener1结束!!");
eventEmitter.emit("connect");
eventEmitters = eventEmitter.listenerCount("connect");
console.log(eventEmitters + "个"); //1
error 事件
遇到错误时会触发error