Назад к задачам
Условие задачи

Ваша задача — написать класс EventEmitter, который позволяет подписываться на различные типы событий, отписываться от них и рассылать уведомления всем зарегистрированным обработчикам.


 // Базовый пример для проверки:

class EventEmitter {
    // Реализуйте класс, чтобы заработал код ниже
}

const emitter = new EventEmitter()

const cb1 = () => console.log('cb1')
const cb2 = () => console.log('cb2')

emitter
.on('event', cb1) // подписка коллбяка cb1 на событие 'event'
.on('event', cb2)
.emit('event') // срабатывание события 'event'
// 'cb1'
// 'cb2'
.off('event', cb2) // отписка коллбяка cb2 от события 'event'
.emit('event')
// 'cb1'