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 50多岁生日简短祝福语
13 安徽疫情祝福语简短英语
14 农民朋友发财祝福语简短
15 对生活祝福语简短精辟
16 搬家词简短祝福语朋友
17 女神结婚快乐祝福语简短
18 文学短句祝福语大全简短