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:
- A függvényhívások és a szinkron kód azonnal végrehajtódnak a hívási veremben.
- 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.
- Amikor egy aszinkron művelet befejeződik, a callback-je a feladat sorába (task queue) kerül.
- 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