Sobes.tech
Junior — Middle

Môžete vysvetliť princíp fungovania Event Loop v Node.js a jeho úlohu pri asynchrónnom spracovaní úloh?

sobes.tech AI

Odpoveď od AI

Event Loop v Node.js je mechanizmus, ktorý umožňuje vykonávať asynchrónny kód bez blokovania hlavného vlákna. Node.js pracuje na jednom vlákne, ale vďaka Event Loop môže spracovávať množstvo operácií vstupu/výstupu paralelne.

Princíp fungovania:

  • Keď sa spustí asynchrónna operácia (napríklad čítanie súboru alebo požiadavka na databázu), je odoslaná príslušnému systémovému API alebo do fronty.
  • Event Loop sleduje tieto operácie a keď sa dokončia, umiestni callbacky do fronty úloh (fronta callbackov).
  • Hlavné vlákno tieto callbacky spracováva postupne, volaním ich jeden po druhom.

Týmto spôsobom Event Loop zabezpečuje neblokujúce spracovanie úloh, čo umožňuje Node.js efektívne pracovať s veľkým množstvom súčasných operácií.

Príklad:

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