Middle+
Ispričaj o Event Loop-u: šta je to, kako radi?
sobes.tech АИ
Одговор од АИ
Event Loop — механizam u JavaScript-u i drugim okruženjima sa jednim nitom koji omogućava obradu asinhronih operacija bez blokiranja glavne niti.
Kako radi:
- Postoji stek poziva (call stack), u koji se smeštaju funkcije za izvršenje.
- Asinhrone operacije (npr. tajmeri, mrežni zahtevi) šalju svoje callback funkcije u red zadataka (task queue) nakon završetka.
- Event Loop stalno proverava da li je stek poziva prazan. Ako jeste, uzima prvi zadatak iz reda i smešta ga u stek za izvršenje.
Na ovaj način, čak i sa asinhronim operacijama, kod se izvršava sekvencijalno, bez blokiranja UI ili drugih procesa.
Primer:
console.log('Start');
setTimeout(() => {
console.log('Timeout');
}, 0);
console.log('End');
Izlaz će biti:
Start
End
Timeout
Zato što callback setTimeout ulazi u red zadataka i izvršava se nakon što se stek poziva oslobodi.