Sobes.tech
Junior — Middle

El tudná magyarázni az Event Loop működési elvét JavaScriptben?

sobes.tech MI

Válasz az MI-től

Az Event Loop a JavaScript-ben egy olyan mechanizmus, amely lehetővé teszi az aszinkron műveletek feldolgozását anélkül, hogy blokkolná a fő végrehajtási szálat.

Működési elv:

  1. A függvényhívások és a szinkron kód azonnal végrehajtódnak a hívási veremben.
  2. Az aszinkron műveletek (pl. időzítők, hálózati kérések) a Web API-khoz (böngésző) vagy a Node.js megfelelő API-jához kerülnek.
  3. Amikor egy aszinkron művelet befejeződik, a callback-je a feladat sorába (task queue) kerül.
  4. Az Event Loop folyamatosan ellenőrzi a hívási veremet: ha az üres, kiválasztja az első callback-et a feladat sorából, és beteszi a verembe a végrehajtáshoz.

Így a JavaScript egy szálon fut, de hatékonyan képes kezelni az aszinkron műveleteket anélkül, hogy blokkolna.

Példa:

console.log('Kezdet');
setTimeout(() => {
  console.log('Aszinkron hívás');
}, 0);
console.log('Vége');
// Az eredmény:
// Kezdet
// Vége
// Aszinkron hívás