Junior — Middle
105
Можете ли објаснити принцип рада Event Loop у Node.js и његову улогу у асинхроној обради задатака?
Одговор од АИ
sobes.tech АИ
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