Sobes.tech
Middle+

Vorbește despre Event Loop: ce este, cum funcționează?

sobes.tech AI

Răspuns de la AI

Event Loop — este un mecanism în JavaScript și alte medii cu un singur fir de execuție, care permite procesarea operațiunilor asincrone fără blocarea firului principal.

Cum funcționează:

  1. Există un stivă de apeluri (call stack), în care sunt plasate funcțiile pentru execuție.
  2. Operațiunile asincrone (de exemplu, temporizatoare, solicitări de rețea) trimit callback-urile lor în coada de sarcini (task queue) după finalizare.
  3. Event Loop verifică constant dacă stiva de apeluri este goală. Dacă este, ia prima sarcină din coadă și o plasează în stivă pentru execuție.

Astfel, chiar și cu operațiuni asincrone, codul se execută secvențial, fără a bloca UI-ul sau alte procese.

Exemplu:

console.log('Start');
setTimeout(() => {
  console.log('Timeout');
}, 0);
console.log('End');

Ieșirea va fi:

Start
End
Timeout

Pentru că callback-ul setTimeout intră în coada de sarcini și va fi executat după ce stiva de apeluri se va elibera.