メソッドの説明:
すべてのリスナーを削除します。event が指定されている場合、指定されたイベントのすべてのリスナーが削除されます。
文法:
エミッター.removeAllListeners([イベント])
パラメータを受信します:
event イベント タイプ、複数の
をサポート
例:
//すべてのリスナーを削除します
エミッター.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[type])
this._events[type];
を削除します
これを返してください;
}
// すべてのイベントのすべてのリスナーに対して、removeListener を発行します
if (arguments.length === 0) {
for (this._events にキーを入力) {
If (key === 'removeListener') 続行;
This.removeAllListeners(key);
}
This.removeAllListeners('removeListener');
This._events = {};
これを返してください;
}
リスナー = this._events[タイプ];
if (util.isFunction(listeners)) {
This.removeListener(type, リスナー);
} else {
// LIFO注文
while (listeners.length)
This.removeListener(type,listeners[listeners.length - 1]);
}
this._events[type];
を削除します
これを返します;
};