Junior — Middle
Můžete vysvětlit princip fungování Event Loop v Node.js a jeho roli v asynchronním zpracování úkolů?
sobes.tech AI
Odpověď od AI
Event Loop v Node.js je mechanismus, který umožňuje spouštět asynchronní kód bez blokování hlavního vlákna. Node.js běží na jednom vlákně, ale díky Event Loop může zpracovávat mnoho operací vstupu/výstupu paralelně.
Princip fungování:
- Když je spuštěna asynchronní operace (například čtení souboru nebo požadavek na databázi), je odeslána příslušnému systémovému API nebo frontě.
- Event Loop sleduje tyto operace a když jsou dokončeny, umístí callbacky do fronty úloh (fronta callbacků).
- Hlavní vlákno tyto callbacky postupně zpracovává, voláním jeden po druhém.
Tímto způsobem Event Loop zajišťuje neblokující zpracování úloh, což umožňuje Node.js efektivně pracovat s velkým množstvím současných operací.
Příklad:
console.log('Start');
setTimeout(() => {
console.log('Timeout callback');
}, 0);
console.log('End');
// Výstup bude:
// Start
// End
// Timeout callback