node.js中的emitter.on方法使用说明
更新时间:2014年12月10日 09:54:31 投稿:junjie
这篇文章主要介绍了node.js中的emitter.on方法使用说明,本文介绍了emitter.on的方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下
方法说明:
为指定事件注册一个监听器。
语法:
复制代码 代码如下:
emitter.on(event, listener)
emitter.addListener(event, listener)
接收参数:
event (string) 事件类型
listener (function) 触发事件时的回调函数
例子:
复制代码 代码如下:
server.on('connection', function (stream) {
console.log('someone connected!');
});
源码:
复制代码 代码如下:
EventEmitter.prototype.addListener = function(type, listener) {
var m;
if (!util.isFunction(listener))
throw TypeError('listener must be a function');
if (!this._events)
this._events = {};
// To avoid recursion in the case that type === "newListener"! Before
// adding it to the listeners, first emit "newListener".
if (this._events.newListener)
this.emit('newListener', type,
util.isFunction(listener.listener) ?
listener.listener : listener);
if (!this._events[type])
// Optimize the case of one listener. Don't need the extra array object.
this._events[type] = listener;
else if (util.isObject(this._events[type]))
// If we've already got an array, just append.
this._events[type].push(listener);
else
// Adding the second element, need to change to array.
this._events[type] = [this._events[type], listener];
// Check for listener leak
if (util.isObject(this._events[type]) && !this._events[type].warned) {
var m;
if (!util.isUndefined(this._maxListeners)) {
m = this._maxListeners;
} else {
m = EventEmitter.defaultMaxListeners;
}
if (m && m > 0 && this._events[type].length > m) {
this._events[type].warned = true;
console.error('(node) warning: possible EventEmitter memory ' +
'leak detected. %d listeners added. ' +
'Use emitter.setMaxListeners() to increase limit.',
this._events[type].length);
console.trace();
}
}
return this;
};
相关文章
node.js利用mongoose获取mongodb数据的格式化问题详解
这篇文章主要给大家介绍了关于node.js利用mongoose获取mongodb数据的格式化问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习把。2017-10-10Node中使用http-proxy-middleware实现代理跨域的方法步骤
本文主要介绍了Node中使用http-proxy-middleware实现代理跨域的方法步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2021-11-11从零开始学习Node.js系列教程六:EventEmitter发送和接收事件的方法示例
这篇文章主要介绍了Node.js EventEmitter发送和接收事件的方法,结合实例形式分析了EventEmitter发送和接收事件的原理、实现方法与相关操作技巧,需要的朋友可以参考下2017-04-04
最新评论