Middle
In quale ordine verranno visualizzati i numeri nel codice con Promise, setTimeout e codice sincrono (Event Loop)?
sobes.tech AI
Risposta dell'AI
In JavaScript, l'ordine di esecuzione del codice con Promise, setTimeout e codice sincrono è determinato dall'Event Loop e dalle code di microtask (microtasks) e macrotask (macrotasks).
Consideriamo un esempio:
console.log('1');
setTimeout(() => {
console.log('2');
}, 0);
Promise.resolve().then(() => {
console.log('3');
});
console.log('4');
Spiegazione:
- Prima viene eseguito tutto il codice sincrono, quindi vengono stampati
1e4. - Poi vengono eseguite le microtask (Promise), stampando
3. - Successivamente vengono eseguite le macrotask (setTimeout), stampando
2.
L'ordine finale di output è: 1, 4, 3, 2.
Quindi, il codice sincrono viene eseguito per primo, seguito dalle microtask (Promise), e infine dalle macrotask (setTimeout). Questo è un punto chiave per comprendere l'Event Loop in JavaScript.