メソッド説明:
すべてのリスナーを削除し、イベントが指定されている場合、指定されたイベントのすべてのリスナーが削除されます。
文法:
コードコピーは次のとおりです。
emitter.removealllisteners([event])
パラメーターを受信:
イベントイベントタイプは、複数をサポートします
例:
コードコピーは次のとおりです。
//すべてのリスナーを削除します
emitter.removealllisteners()
//指定されたイベントのすべてのリスナーを削除します
emitter.removealllisteners( 'data')
ソースコード:
コードコピーは次のとおりです。
eventemitter.prototype.removealllisteners = function(type){
varキー、リスナー。
if(!this._events)
これを返します。
// removelistenerを聞いていないので、放出する必要はありません
if(!this._events.removelistener){
if(arguments.length === 0)
this._events = {};
else if(this._events [タイプ])
this._events [type];
これを返します。
}
//すべてのイベントのすべてのリスナーにremovelistenerを排出します
if(arguments.length === 0){
for(this._eventsのキー){
if(key === 'removelistener')継続;
this.removealllisteners(key);
}
this.removealllisteners( 'removelistener');
this._events = {};
これを返します。
}
リスナー= this._events [type];
if(util.isfunction(リスナー)){
this.removelistener(タイプ、リスナー);
} それ以外 {
// LIFO注文
while(listens.length)
this.removelistener(タイプ、リスナー[リスナー.length -1]);
}
this._events [type];
これを返します。
};