Middle
In welke volgorde worden de cijfers weergegeven in de code met Promise, setTimeout en synchronische code (Event Loop)?
sobes.tech AI
Antwoord van AI
In JavaScript wordt de volgorde van uitvoering van code met Promise, setTimeout en synchrone code bepaald door de Event Loop en de wachtrijen voor microtasks (microtasks) en macrotasks (macrotasks).
Laten we een voorbeeld bekijken:
console.log('1');
setTimeout(() => {
console.log('2');
}, 0);
Promise.resolve().then(() => {
console.log('3');
});
console.log('4');
Uitleg:
- Eerst wordt alle synchrone code uitgevoerd, dus
1en4worden weergegeven. - Vervolgens worden de microtasks (Promise) uitgevoerd,
3wordt weergegeven. - Daarna worden de macrotasks (setTimeout) uitgevoerd,
2wordt weergegeven.
De uiteindelijke uitvoervolgorde is: 1, 4, 3, 2.
Dus, de synchrone code wordt eerst uitgevoerd, gevolgd door microtasks (Promise), en ten slotte macrotasks (setTimeout). Dit is een belangrijk punt om de Event Loop in JavaScript te begrijpen.