node.js中的events.emitter.removeAllListeners方法使用说明
方法说明:
移除所有监听器,如果指定event,则将移除指定事件的所有监听器。
语法:
emitter.removeAllListeners([event])
接收参数:
event 事件类型,支持多个
例子:
//移除所有监听器
emitter.removeAllListeners()
//移除指定event的所有监听器
emitter.removeAllListeners('data')
源码:
EventEmitter.prototype.removeAllListeners=function(type){
varkey,listeners;
if(!this._events)
returnthis;
//notlisteningforremoveListener,noneedtoemit
if(!this._events.removeListener){
if(arguments.length===0)
this._events={};
elseif(this._events[type])
deletethis._events[type];
returnthis;
}
//emitremoveListenerforalllistenersonallevents
if(arguments.length===0){
for(keyinthis._events){
if(key==='removeListener')continue;
this.removeAllListeners(key);
}
this.removeAllListeners('removeListener');
this._events={};
returnthis;
}
listeners=this._events[type];
if(util.isFunction(listeners)){
this.removeListener(type,listeners);
}else{
//LIFOorder
while(listeners.length)
this.removeListener(type,listeners[listeners.length-1]);
}
deletethis._events[type];
returnthis;
};
热门推荐
10 财运虎年祝福语简短语
11 单亲爸爸春节祝福语简短
12 狗狗上厕所训练
13 植物种植祝福语简短
14 翻译考试祝福语朋友简短
15 个人周年庆简短祝福语
16 狗狗怎么训练
17 分别祝福语简短搞笑英文
18 生日广州男生祝福语简短