Junior — Middle
Можете ли да обясните какво е Event Emitter в Node.js и как се използва за обработка на събития?
sobes.tech AI
Отговор от 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.