Sobes.tech
Junior — Middle

Poți explica principiul de funcționare al Event Loop în Node.js și rolul său în procesarea asincronă a sarcinilor?

sobes.tech AI

Răspuns de la AI

Event Loop în Node.js este un mecanism care permite executarea codului asincron fără a bloca firul principal de execuție. Node.js funcționează pe un singur fir, dar datorită Event Loop poate procesa multiple operații de intrare/ieșire în paralel.

Principiul de funcționare:

  • Când se inițiază o operație asincronă (de exemplu, citirea unui fișier sau o solicitare către o bază de date), aceasta este trimisă către API-ul sistemului corespunzător sau către o coadă.
  • Event Loop monitorizează aceste operații și, când se finalizează, plasează callback-urile în coada de sarcini (coada de callback-uri).
  • Firul principal procesează aceste callback-uri în ordine, apelându-le pe rând.

Astfel, Event Loop asigură o procesare non-blocantă a sarcinilor, permițând Node.js să funcționeze eficient cu un număr mare de operații simultane.

Exemplu:

console.log('Start');
setTimeout(() => {
  console.log('Timeout callback');
}, 0);
console.log('End');
// Rezultatul va fi:
// Start
// End
// Timeout callback