Проверяет понимание механизма работы Event Emitter, включая подписку на события и их публикацию.
Event Emitter — это реализация паттерна "Наблюдатель" (Observer), широко используемая в Node.js. Он позволяет объектам генерировать события и уведомлять подписанных слушателей. Это ключевой механизм для асинхронной обработки, например, при работе с потоками, HTTP-запросами или пользовательскими событиями.
При вызове метода on(event, listener) или addListener(event, listener) функция-обработчик добавляется во внутренний массив слушателей для указанного события. Если событие уже имеет слушателей, новый просто добавляется в конец списка. Можно также подписаться однократно через once — после первого вызова слушатель автоматически удаляется.
При вызове emit(event, ...args) Event Emitter проходит по всем слушателям данного события и вызывает их синхронно в порядке добавления, передавая аргументы. Если слушателей нет, событие игнорируется (если не установлен специальный обработчик на error).
const EventEmitter = require('events');
const emitter = new EventEmitter();
// Подписка на событие 'data'
emitter.on('data', (msg) => {
console.log('Получено:', msg);
});
// Публикация события
emitter.emit('data', 'Hello!');
// Вывод: Получено: Hello!Вывод: Event Emitter полезен для создания событийно-ориентированных систем, где компоненты общаются через события, а не прямые вызовы. Это упрощает масштабирование и тестирование.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию