Junior — Middle
Meg tudná magyarázni az Event Loop működési elvét Node.js-ben és szerepét a feladatok aszinkron feldolgozásában?
sobes.tech MI
Válasz az MI-től
Az Event Loop a Node.js-ben egy olyan mechanizmus, amely lehetővé teszi az aszinkron kód végrehajtását anélkül, hogy blokkolná a fő szálat. A Node.js egy szálon fut, de az Event Loop segítségével párhuzamosan képes több bemeneti/kimeneti műveletet kezelni.
Működési elv:
- Amikor egy aszinkron műveletet indítunk (például fájl olvasás vagy adatbázis kérés), azt a megfelelő rendszer API-hoz vagy sorhoz küldjük.
- Az Event Loop figyeli ezeket a műveleteket, és amikor befejeződnek, a callback-eket a feladatok sorába helyezi.
- A fő szál ezeket a callback-eket sorban feldolgozza, meghívva őket.
Így az Event Loop biztosítja a feladatok nem blokkoló feldolgozását, lehetővé téve a Node.js számára, hogy hatékonyan működjön sok egyidejű művelettel.
Példa:
console.log('Start');
setTimeout(() => {
console.log('Timeout callback');
}, 0);
console.log('End');
// Kimenet:
// Start
// End
// Timeout callback