Метод emit

Метод emit модуля EventEmitter синхронно вызывает слушателей определенного события в том порядке, в котором они были зарегистрированы. В первом параметре метода задаем имя события, во втором необязательном параметре - передаем значения для слушателей. Если у нужного нам события есть слушатели метод возвращает true, в противном случае - false или пустую строку.

Синтаксис

javascripteventEmitter.emit(имя события, [значения для слушателей]);

Пример

Давайте проверим вызовем слушателей события и передадим одному из них значения в параметры:

javascriptimport { EventEmitter } from 'events';

const eventEmitter = new EventEmitter();

eventEmitter.on('event', function listener1() {
  console.log('text1');
});
eventEmitter.on('event', function listener2(num1, num2) {
  console.log('text2', num1 + num2);
});

eventEmitter.emit('event', 1, 2);

Результат выполненного кода:

javascript'text1'
'text2' 3

Пример

А теперь давайте вызовем слушателя для несуществующего события:

javascriptimport { EventEmitter } from 'node:events';
const eventEmitter = new EventEmitter();

eventEmitter.on('event1', function listener1() {
  console.log('text1');
});

eventEmitter.emit('event');

После выполнения кода мы увидим пустую строку:

javascript''

Смотрите также

  • метод eventNames,
    который возвращает названия событий
  • метод getMaxListeners,
    который возвращает максимальное значение слушателей
  • метод listenerCount,
    который возвращает количество слушателей события