Эмиттер событий (EventEmitter)

Medium
ClassPatternSber

Реализуйте класс EventEmitter с методами:

  • on(event, handler) — подписаться на событие
  • off(event, handler) — отписаться
  • emit(event, ...args) — вызвать все обработчики события с аргументами
  • once(event, handler) — подписаться на одно срабатывание
const ee = new EventEmitter();
ee.on('click', (x) => console.log(x));
ee.emit('click', 42); // => 42

Примеры

Пример 1
Вход:
on + emit
Выход:
42
Пример 2
Вход:
once + emit twice
Выход:
вызов только один раз
Ваш код - JavaScript
Результаты
Нажмите «Запуск» для выполнения кода