Junior — Middle
Môžete vysvetliť princíp fungovania Event Loop v Node.js a jeho úlohu pri asynchrónnom spracovaní úloh?
sobes.tech AI
Odpoveď od AI
Event Loop v Node.js je mechanizmus, ktorý umožňuje vykonávať asynchrónny kód bez blokovania hlavného vlákna. Node.js pracuje na jednom vlákne, ale vďaka Event Loop môže spracovávať množstvo operácií vstupu/výstupu paralelne.
Princíp fungovania:
- Keď sa spustí asynchrónna operácia (napríklad čítanie súboru alebo požiadavka na databázu), je odoslaná príslušnému systémovému API alebo do fronty.
- Event Loop sleduje tieto operácie a keď sa dokončia, umiestni callbacky do fronty úloh (fronta callbackov).
- Hlavné vlákno tieto callbacky spracováva postupne, volaním ich jeden po druhom.
Týmto spôsobom Event Loop zabezpečuje neblokujúce spracovanie úloh, čo umožňuje Node.js efektívne pracovať s veľkým množstvom súčasných operácií.
Príklad:
console.log('Start');
setTimeout(() => {
console.log('Timeout callback');
}, 0);
console.log('End');
// Výstup bude:
// Start
// End
// Timeout callback