node.js中的emitter.on方法使用说明
方法说明:
为指定事件注册一个监听器。
语法:
emitter.on(event,listener) emitter.addListener(event,listener)
接收参数:
event (string) 事件类型
listener (function) 触发事件时的回调函数
例子:
server.on('connection',function(stream){
console.log('someoneconnected!');
});
源码:
EventEmitter.prototype.addListener=function(type,listener){
varm;
if(!util.isFunction(listener))
throwTypeError('listenermustbeafunction');
if(!this._events)
this._events={};
//Toavoidrecursioninthecasethattype==="newListener"!Before
//addingittothelisteners,firstemit"newListener".
if(this._events.newListener)
this.emit('newListener',type,
util.isFunction(listener.listener)?
listener.listener:listener);
if(!this._events[type])
//Optimizethecaseofonelistener.Don'tneedtheextraarrayobject.
this._events[type]=listener;
elseif(util.isObject(this._events[type]))
//Ifwe'vealreadygotanarray,justappend.
this._events[type].push(listener);
else
//Addingthesecondelement,needtochangetoarray.
this._events[type]=[this._events[type],listener];
//Checkforlistenerleak
if(util.isObject(this._events[type])&&!this._events[type].warned){
varm;
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:possibleEventEmittermemory'+
'leakdetected.%dlistenersadded.'+
'Useemitter.setMaxListeners()toincreaselimit.',
this._events[type].length);
console.trace();
}
}
returnthis;
};
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短