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