Модуль события предоставляет нам класс EventEmitter, который является ключевым для работы с событиями в узле.
Я опубликовал полную статью об этом, поэтому здесь я просто опишу API без дополнительных примеров того, как его использовать.
const EventEmitter = require('events')
const door = new EventEmitter()Слушатель событий ест свой собственный корм для собак и использует эти события:
новый слушательпри добавлении слушателяremoveListenerпри удалении прослушивателя
Вот подробное описание наиболее полезных методов:
- эмиттер.аддлистенер()
- излучатель.излучать()
- эмиттер.имена событий()
- эмиттер.setmaxlisteners()
- излучатель.количество слушателей()
- излучатель.слушатели()
- излучатель.выключен()
- излучатель.вкл()
- излучатель.один раз()
- эмиттер.добавочные списки ()
- эмиттер.добавить Один Раз Слушатель()
- эмиттер.Удалить все списки ()
- излучатель.удалить список ()
- эмиттер.setMaxListeners()
эмиттер.аддлистенер()
Псевдоним для эмиттера.on() .
излучатель.излучать()
Создает событие. Он синхронно вызывает каждого прослушивателя событий в том порядке, в котором они были зарегистрированы.
эмиттер.имена событий()
Возвращает массив строк, представляющих события, зарегистрированные в текущем прослушивателе событий:
door.eventNames()
эмиттер.setmaxlisteners()
Получите максимальное количество прослушивателей, которое можно добавить в объект прослушивателя событий, значение по умолчанию равно 10, но может быть увеличено или уменьшено с помощью setMaxListeners()
door.getMaxListeners()
излучатель.количество слушателей()
Получить количество слушателей события, переданного в качестве параметра:
door.listenerCount('open')излучатель.слушатели()
Возвращает массив прослушивателей события, переданного в качестве параметра:
door.listeners('open')излучатель.выключен()
Псевдоним для emitter.removeListener() добавлен в узел 10
излучатель.вкл()
Добавляет функцию обратного вызова, которая вызывается при возникновении события.
Использование:
door.on('open', () => {
console.log('Door was opened')
})излучатель.один раз()
Добавляет функцию обратного вызова, которая вызывается при первом возникновении события после его регистрации. Этот обратный вызов будет вызван только один раз, больше никогда.
const EventEmitter = require('events')
const ee = new EventEmitter()
ee.once('my-event', () => {
//call callback function once
})эмиттер.добавочные списки ()
При добавлении прослушивателя с помощью вкл. или Добавляющий список , он добавляется последним в очередь слушателей и вызывается последним. Использование добавочных списков он добавляется и вызывается раньше других слушателей.
эмиттер.добавить Один Раз Слушатель()
Когда вы добавляете слушателя, используя один раз , он добавляется последним в очередь слушателей и вызывается последним. Использование добавить Один Раз Слушателя он добавляется и вызывается раньше других слушателей.
эмиттер.Удалить все списки ()
Удаляет всех прослушивателей объекта-эмиттера событий, прослушивающих определенное событие:
door.removeAllListeners('open')излучатель.удалить список ()
Удалите определенного слушателя. Вы можете сделать это, сохранив функцию обратного вызова в переменной при добавлении, чтобы вы могли ссылаться на нее позже:
const doSomething = () => {}
door.on('open', doSomething)
door.removeListener('open', doSomething)эмиттер.setMaxListeners()
Задает максимальное количество прослушивателей, которое можно добавить к объекту прослушивателя событий, которое по умолчанию равно 10, но может быть увеличено или уменьшено.
door.setMaxListeners(50)
Оригинал: “https://flaviocopes.com/node-module-events/”