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