编程语言
首页 > 编程语言> > Node.js EventEmitter

Node.js EventEmitter

作者:互联网

前言

Node.js 所有的异步 操作在完成时,都会发送一个事件到事件队列,所有的事件对象都是 EventEmitter 的实例。

EventEmitter存在于events模块中,且events 模块中也仅仅提供了这么一个对象。

EventEmitter 的核心就是事件触发与事件监听器功能的封装,他将作为其它事件的基类来使用,一般不会单独使用。


一、EventEmitter使用示例

 

//引入events
var events = require('events');
// 创建 eventEmitter 对象
var eventEmitter = new events.EventEmitter();
//回调方法
function func_CallBack(funcName,info){
  console.log(funcName + info);
}

//添加监听器
emitter.addListener('connection', listener1);

//监听事件,绑定回调(注册监听器)
emitter.on('connection', func_CallBack);

//监听事件,绑定回调(同一个事件,可以绑定多次)
emitter.on('connection', func_CallBack);



//一次性监听事件
emitter.once('connection', func_CallBack);

//移除监听
emitter.removeListener('connection', func_CallBack);

//移除所有事件监听
emitter.removeAllListeners();
//移除指定事件的所有监听
emitter.removeAllListeners(['connection','connection2']);

//获取指定事件的监听数据
emitter.listenerCount(eventName);

//设置事件监听的最大个数
emitter.setMaxListeners(n);
//获取指定事件的监听实例数组
emitter.listeners(event);


//执行监听
emitter.emit('connection',arg1,arg2,...);


//errore事件
emitter.emit('error', function (e) {
  //记日志
  throw e;
}); 

 

标签:Node,EventEmitter,emitter,connection,事件,events,js,监听
来源: https://blog.csdn.net/yuanlnet/article/details/115091492