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 给外婆敬酒祝福语简短