Рубрики
Без рубрики

Модуль событий узла

Модуль событий Node.js предоставляет класс EventEmitter

Модуль события предоставляет нам класс 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/”