Junior — Middle
Kunt u het werkingsprincipe van de gebeurtenisverwerking in asynchrone systemen uitleggen?
sobes.tech AI
Antwoord van AI
De event loop in asynchrone systemen zoals Node.js is verantwoordelijk voor het beheren van de uitvoering van asynchrone operaties zonder het hoofdproces te blokkeren.
Werking:
- Alle operaties die tijd kosten (bijvoorbeeld bestandslezen, netwerkverzoeken) worden in de gebeurteniswachtrij geplaatst.
- De event loop controleert voortdurend deze wachtrij en roept, wanneer een operatie voltooid is, de bijbehorende callback of handler aan.
- De hoofdthread wordt niet geblokkeerd, hij blijft de volgende code uitvoeren totdat er voltooide gebeurtenissen zijn.
Dit maakt het mogelijk om efficiënt gebruik te maken van bronnen en veel operaties parallel te verwerken, ondanks de single-threaded aard van Node.js.
Voorbeeld:
console.log('Begin');
setTimeout(() => {
console.log('Asynchrone gebeurtenis');
}, 1000);
console.log('Einde');
De uitvoer zal zijn:
Begin
Einde
Asynchrone gebeurtenis
Omdat setTimeout de functie in de gebeurteniswachtrij plaatst en de event loop deze later oproept.