Что такое Event Loop и Event Emitter?
Этот вопрос проверяет понимание ключевых механизмов работы Node.js с асинхронным кодом и событиями.
Короткий ответ
Event Loop — это механизм в Node.js, который позволяет выполнять асинхронные операции без блокировки потока. Он управляет событиями и задачами, помещая их в очередь.
Event Emitter — это объект, который позволяет создавать и обрабатывать события, используя методы .emit() и .on().
Длинный ответ
Event Loop — это цикл событий в Node.js, который позволяет асинхронно обрабатывать задачи. Node.js запускает задачу (например, запрос), а результат выполнения возвращается позже без блокировки основного потока.
Event Emitter — встроенный класс в Node.js, который позволяет подписываться на события и отправлять их. Это используется для управления потоками данных или событиями приложения.
Пример использования Event Emitter:
const EventEmitter = require('events');
const emitter = new EventEmitter();
emitter.on('eventName', () => {
console.log('Событие произошло!');
});
emitter.emit('eventName');