Метод Описание:
Зарегистрируйте слушателя для указанного события.
Грамматика:
Кода -копия выглядит следующим образом:
Emitter.on (событие, слушатель)
eMitter.addlistener (событие, слушатель)
Получить параметры:
Тип события события (строка)
Прослушитель (функция) функция обратного вызова, когда событие запускается
пример:
Кода -копия выглядит следующим образом:
server.on ('connection', function (stream) {
console.log ('Кто -то подключен!');
});
Исходный код:
Кода -копия выглядит следующим образом:
EventEmitter.prototype.addlistener = function (type, alinger) {
var m;
if (! util.isfunction (слушатель))
Throw TypeError («слушатель должен быть функцией»);
if (! this._events)
this._events = {};
// Чтобы избежать рекурсии в случае, что тип === "newlistener"! До
// Добавление его слушателям, сначала излучает «NewListener».
if (this._events.newlistener)
this.emit ('newlistener', type,
util.isfunction (слушатель.listener)?
Слушатель.Listener: слушатель);
if (! this._events [type])
// Оптимизировать случай одного слушателя. Не нужен дополнительный объект массива.
this._events [type] = слушатель;
else if (util.isobject (this._events [type])))
// Если у нас уже есть массив, просто добавьте.
this._events [type] .push (слушатель);
еще
// Добавление второго элемента, необходимо изменить на массив.
this._events [type] = [this._events [type], слушатель];
// Проверка на утечку слушателя
if (util.isobject (this._events [type]) &&! this._events [type] .warned) {
var m;
if (! util.isundefined (this._maxlisteners)) {
m = this._maxlisteners;
} еще {
m = EventEmitter.defaultmaxListeners;
}
if (m && m> 0 && this._events [type] .length> m) {
this._events [type] .warned = true;
Console.Error ('(Узел) Предупреждение: возможная память EventEmitter' +
Утечка обнаружена. %D Слушатели добавили. +
«Используйте eMitter.setMaxListeners () для увеличения предела»,
this._events [type] .length);
console.trace ();
}
}
вернуть это;
};