EventEmitter Node.js — Эмиттер событий

EventEmitter Node.js — Эмиттер событий

От автора: многие объекты в Node запускают события, например, net.Server запускает событие при каждом подключении к нему, fs.readStream запускает событие при открытии файла. Все объекты, которые запускают события, являются экземплярами Node js EventEmitter.

Класс EventEmitter

Как было сказано раннее, класс EventEmitter хранится в модуле событий. К нему можно получить доступ с помощью следующего кода:

Когда экземпляр EventEmitter находит ошибку, он запускает событие «error». Когда добавляется новый прослушиватель, запускается событие «newListener», а когда прослушиватель удаляется, запускается событие «removeListener». EventEmitter предоставляет несколько свойств, таких как on и emit. Свойство on используется для привязки функции к событию, а свойство emit используется для запуска события.

Методы

addListener(event, listener) — Добавляет прослушиватель в конце массива прослушивателей для указанного события. Не проверяется, добавлен ли прослушиватель. Несколько вызовов, передающих одну и ту же комбинацию события и прослушивателя, приведут к тому, что прослушиватель будет добавлен несколько раз. Возвращает эмиттер, поэтому события могут запускаться последовательно цепочкой.

on(event, listener) — Добавляет прослушивателя в конце массива прослушивателей для указанного события. Проверка добавлен ли уже прослушиватель не выполняется. Несколько вызовов, передающих одну и ту же комбинацию события и прослушивателя, приведут к тому, что прослушиватель будет добавлен несколько раз. Возвращает эмиттер, поэтому события могут запускаться последовательно цепочкой.

once(event, listener) — Добавляет одиночный прослушиватель события. Этот прослушиватель вызывается только при следующем запуске события, после которого он будет удален. Возвращает эмиттер, поэтому события могут запускаться последовательно цепочкой.

removeListener(event, listener) — Удаляет прослушиватель из массива прослушивателей для указанного события. Обратите внимание: Этот метод изменяет индексирование массива прослушивателей после удаления события. removeListener удаляет не более одного экземпляра прослушивателя из массива прослушивателя. Если определенный прослушиватель был добавлен в массив прослушивателей для указанного события несколько раз, то removeListener нужно вызвать несколько раз, чтобы удалить каждый экземпляр. Возвращает эмиттер, поэтому события могут запускаться последовательно цепочкой.

removeAllListeners([event]) — Удаляет все прослушиватели для указанного события. Не рекомендуется удалять прослушиватели, которые были добавлены в другом месте кода, особенно в эмиттере, который вы не создавали (например, сокеты или потоки файлов). Возвращает эмиттер, поэтому события могут запускаться последовательно цепочкой.

setMaxListeners(n) — По умолчанию EventEmitters выдаст предупреждение, если для определенного события добавлено более 10 прослушивателей. Это значение по умолчанию, которое помогает оптимизировать использование памяти. Очевидно, что не для всех эмиттеров должно быть установлено ограничение в 10. Данная функция позволяет увеличить этот лимит. Чтобы снять ограничения нужно установить значение ноль.

listeners(event) — Возвращает массив прослушивателей для указанного события.

emit(event, [arg1], [arg2], […]) — Выполняет все прослушиватели в порядке указанном в аргументах. Возвращает true, если для события добавлены прослушиватели, в противном случае — false.

Методы классов

listenerCount(emitter, event) — Возвращает количество прослушивателей для данного события.

События

NewListener. event — строка: имя события; listener — функция: функция обработчика событий. Это событие запускается при каждом добавлении прослушивателя. В момент запуска этого события прослушиватель может быть еще не добавлен в массив прослушивателей для события.

removeListener. event – строка: имя события; listener – функция: функция обработчика событий. Это событие запускается каждый раз при удалении прослушивателя. В момент запуска этого события прослушиватель может быть еще не удален из массива прослушивателей для события.

Пример

Создайте файл js с именем main.js со следующим кодом Node.js:

Теперь запустите main.js:

В результате вы должны получить следующее.

Источник: //www.tutorialspoint.com/

Редакция: Команда webformyself.

Метки:

Похожие статьи:

Комментарии Вконтакте: