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;
};
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn