Sobes.tech
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