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:
- Volania funkcií a synchronný kód sa vykonávajú okamžite na zásobníku volaní.
- 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.
- Keď asynchrónna operácia skončí, jej callback sa umiestni do fronty úloh (task queue).
- 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