Methodenbeschreibung:
Alle Listener entfernen. Wenn ein Ereignis angegeben ist, werden alle Listener für das angegebene Ereignis entfernt.
Grammatik:
emitter.removeAllListeners([event])
Empfangsparameter:
Ereignisereignistyp, unterstützt mehrere
Beispiel:
//Alle Listener entfernen
emitter.removeAllListeners()
//Alle Listener für das angegebene Ereignis entfernen
emitter.removeAllListeners('data')
Quellcode:
EventEmitter.prototype.removeAllListeners = function(type) {
var-Taste, Zuhörer;
if (!this._events)
Geben Sie dies zurück;
// lauscht nicht auf RemoveListener, keine Ausgabe nötig
if (!this._events.removeListener) {
If (arguments.length === 0)
This._events = {};
else if (this._events[type])
Löschen Sie this._events[type];
Geben Sie dies zurück;
}
// RemoveListener für alle Listener bei allen Ereignissen ausgeben
if (arguments.length === 0) {
for (Geben Sie this._events ein) {
Wenn (key === 'removeListener') fortfahren;
This.removeAllListeners(key);
}
This.removeAllListeners('removeListener');
This._events = {};
Geben Sie dies zurück;
}
listeners = this._events[type];
if (util.isFunction(listeners)) {
This.removeListener(type, listeners);
} sonst {
// LIFO-Bestellung
while (listeners.length)
This.removeListener(type, listeners[listeners.length - 1]);
}
Löschen Sie this._events[type];
gib dies zurück;
};