Sobes.tech
Junior — Middle

Můžete vysvětlit princip fungování Event Loop v Node.js a jeho roli v asynchronním zpracování úkolů?

sobes.tech AI

Odpověď od AI

Event Loop v Node.js je mechanismus, který umožňuje spouštět asynchronní kód bez blokování hlavního vlákna. Node.js běží na jednom vlákně, ale díky Event Loop může zpracovávat mnoho operací vstupu/výstupu paralelně.

Princip fungování:

  • Když je spuštěna asynchronní operace (například čtení souboru nebo požadavek na databázi), je odeslána příslušnému systémovému API nebo frontě.
  • Event Loop sleduje tyto operace a když jsou dokončeny, umístí callbacky do fronty úloh (fronta callbacků).
  • Hlavní vlákno tyto callbacky postupně zpracovává, voláním jeden po druhém.

Tímto způsobem Event Loop zajišťuje neblokující zpracování úloh, což umožňuje Node.js efektivně pracovat s velkým množstvím současných operací.

Příklad:

console.log('Start');
setTimeout(() => {
  console.log('Timeout callback');
}, 0);
console.log('End');
// Výstup bude:
// Start
// End
// Timeout callback