Sobes.tech
Назад к вопросам
Junior — Middle
85

Можете объяснить, что такое Event Emitter в Node.js и как он используется для обработки событий?

Ответ от нейросети

sobes.tech AI

Event Emitter в Node.js — это объект, который позволяет создавать и обрабатывать события. Он реализует паттерн "наблюдатель" (observer), где один объект (эмиттер) генерирует события, а другие (слушатели) на них реагируют.

Основные моменты:

  • Класс EventEmitter находится в модуле events.
  • Можно создавать собственные эмиттеры, наследуя EventEmitter.
  • Слушатели регистрируются с помощью метода on или addListener.
  • События вызываются методом emit.

Пример использования:

const EventEmitter = require('events');

class MyEmitter extends EventEmitter {}

const myEmitter = new MyEmitter();

// Регистрируем слушатель события 'greet'
myEmitter.on('greet', (name) => {
  console.log(`Привет, ${name}!`);
});

// Генерируем событие 'greet'
myEmitter.emit('greet', 'Алексей');

В результате при вызове emit все слушатели события greet будут вызваны с переданными аргументами.

Это позволяет строить асинхронную и событийно-ориентированную архитектуру приложений в Node.js.