Sobes.tech
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:

  1. Postoji stek poziva (call stack), u koji se smeštaju funkcije za izvršenje.
  2. Asinhrone operacije (npr. tajmeri, mrežni zahtevi) šalju svoje callback funkcije u red zadataka (task queue) nakon završetka.
  3. 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.