Heim >Web-Frontend >js-Tutorial >Anweisungen zur Verwendung der Methode events.emitter.removeAllListeners in node.js_node.js

Anweisungen zur Verwendung der Methode events.emitter.removeAllListeners in node.js_node.js

WBOY
WBOYOriginal
2016-05-16 16:27:422282Durchsuche

Methodenbeschreibung:

Alle Listener entfernen. Wenn ein Ereignis angegeben ist, werden alle Listener für das angegebene Ereignis entfernt.

Grammatik:

Code kopieren Der Code lautet wie folgt:

emitter.removeAllListeners([event])

Empfangsparameter:

Ereignisereignistyp, unterstützt mehrere

Beispiel:

Code kopieren Der Code lautet wie folgt:

//Alle Listener entfernen

emitter.removeAllListeners()

//Alle Listener für das angegebene Ereignis entfernen

emitter.removeAllListeners('data')

Quellcode:

Code kopieren Der Code lautet wie folgt:

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