Sobes.tech
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