Назад к вопросам
Junior — Middle
89
Можете объяснить принцип работы Event Loop в Node.js и его роль в асинхронной обработке задач?
Ответ от нейросети
sobes.tech AI
Event Loop в Node.js — это механизм, который позволяет выполнять асинхронный код, не блокируя главный поток выполнения. Node.js работает на одном потоке, но благодаря Event Loop может обрабатывать множество операций ввода-вывода параллельно.
Принцип работы:
- Когда запускается асинхронная операция (например, чтение файла или запрос к базе), она отправляется в соответствующий системный API или очередь.
- Event Loop следит за этими операциями и, когда они завершаются, помещает колбэки в очередь задач (callback queue).
- Главный поток последовательно обрабатывает эти колбэки, вызывая их по очереди.
Таким образом, Event Loop обеспечивает неблокирующую обработку задач, позволяя Node.js эффективно работать с большим количеством одновременных операций.
Пример:
console.log('Start');
setTimeout(() => {
console.log('Timeout callback');
}, 0);
console.log('End');
// Вывод будет:
// Start
// End
// Timeout callback