Middle+
Rozprávaj o Event Loop: čo to je, ako funguje?
sobes.tech AI
Odpoveď od AI
Event Loop — je mehanizmus v JavaScripte a ďalších prostrediach s jedným vláknom, ktorý umožňuje spracovanie asynchrónnych operácií bez blokovania hlavného vlákna.
Ako to funguje:
- Existuje zásobník volaní (call stack), do ktorého sa umiestňujú funkcie na vykonanie.
- Asynchrónne operácie (napríklad časovače, sieťové požiadavky) po dokončení posielajú svoje callbacky do fronty úloh (task queue).
- Event Loop neustále kontroluje, či je zásobník volaní prázdny. Ak áno, vezme prvú úlohu z fronty a vloží ju do zásobníka na vykonanie.
Týmto spôsobom sa aj pri asynchrónnych operáciách kód vykonáva sekvenčne, bez blokovania UI alebo iných procesov.
Príklad:
console.log('Start');
setTimeout(() => {
console.log('Timeout');
}, 0);
console.log('End');
Výstup bude:
Start
End
Timeout
Pretože callback setTimeout sa dostáva do fronty úloh a bude vykonaný po uvoľnení zásobníka volaní.