Methodenbeschreibung:
Registrieren Sie einen Listener für das angegebene Ereignis.
Grammatik:
emitter.on(event, listener)
emitter.addListener(event, listener)
Empfangsparameter:
Ereignis (Zeichenfolge) Ereignistyp
Listener (Funktion) Die Rückruffunktion, wenn ein Ereignis ausgelöst wird
Beispiel:
server.on('connection', Funktion (Stream) {
console.log('jemand verbunden!');
});
Quellcode:
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;
};