Sobes.tech
Junior — Middle

Môžete vysvetliť princíp fungovania Event Loop v JavaScript?

sobes.tech AI

Odpoveď od AI

Event Loop v JavaScripte je mechanizmus, ktorý umožňuje spracovávať asynchrónne operácie bez blokovania hlavného vlákna vykonávania.

Princíp fungovania:

  1. Volania funkcií a synchronný kód sa vykonávajú okamžite na zásobníku volaní.
  2. Asynchrónne operácie (napríklad časovače, sieťové požiadavky) sa odosielajú do Web API (prehliadač) alebo do príslušného API v Node.js.
  3. Keď asynchrónna operácia skončí, jej callback sa umiestni do fronty úloh (task queue).
  4. Event Loop neustále kontroluje zásobník volaní: ak je prázdny, vezme prvý callback z fronty úloh a vloží ho do zásobníka na vykonanie.

Týmto spôsobom zostáva JavaScript jednolinkový, ale môže efektívne spracovávať asynchrónne operácie bez blokovania.

Príklad:

console.log('Začiatok');
setTimeout(() => {
  console.log('Asynchrónny volanie');
}, 0);
console.log('Koniec');
// Výstup bude:
// Začiatok
// Koniec
// Asynchrónny volanie