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

Anweisungen zur Verwendung der emitter.on-Methode in node.js_node.js

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

Methodenbeschreibung:

Registrieren Sie einen Listener für das angegebene Ereignis.

Grammatik:

Code kopieren Der Code lautet wie folgt:

emitter.on(event, listener)
emitter.addListener(event, listener)

Empfangsparameter:

Ereignis (Zeichenfolge) Ereignistyp
Listener (Funktion) Die Rückruffunktion, wenn ein Ereignis ausgelöst wird

Beispiel:

Code kopieren Der Code lautet wie folgt:

server.on('connection', Funktion (Stream) {
console.log('jemand verbunden!');
});

Quellcode:

Code kopieren Der Code lautet wie folgt:

EventEmitter.prototype.addListener = function(type, listener) {
var m;
if (!util.isFunction(listener))
Throw TypeError('listener must be a function');
if (!this._events)
This._events = {};
// Um ​​eine Rekursion zu vermeiden, geben Sie === „newListener“ Before
ein // Füge es den Listenern hinzu und gebe zuerst „newListener“ aus.
if (this._events.newListener)
This.emit('newListener', type,
                util.isFunction(listener.listener) ?
Listener.listener : listener);
if (!this._events[type])
// Den Fall eines Listeners optimieren. Das zusätzliche Array-Objekt ist nicht erforderlich.
This._events[type] = listener;
else if (util.isObject(this._events[type]))
// Wenn wir bereits ein Array haben, fügen Sie es einfach an.
This._events[type].push(listener);
sonst
// Beim Hinzufügen des zweiten Elements muss in ein Array geändert werden.
This._events[type] = [this._events[type], listener];
// Auf Listener-Leck prüfen
if (util.isObject(this._events[type]) && !this._events[type].warned) {
var m;
If (!util.isUndefined(this._maxListeners)) {
        m = this._maxListeners;
} sonst {
m = EventEmitter.defaultMaxListeners;
}
If (m && m > 0 && this._events[type].length > m) {
This._events[type].warned = true;
console.error('(Knoten) Warnung: Möglicher EventEmitter-Speicher '
'Leck erkannt. %d Zuhörer hinzugefügt.'                          'Verwenden Sie emitter.setMaxListeners(), um das Limit zu erhöhen.',
This._events[type].length);
console.trace();
}
}
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