Sobes.tech
Middle

console.log('1'); setTimeout(() => console.log('2'), 0); Promise.resolve().then(() => console.log('3')); console.log('4');

sobes.tech AI

Risposta dell'AI

L'output sarà:

1
4
3
2

Spiegazione:

  • console.log('1') — chiamata sincrona, stampa 1.
  • setTimeout(..., 0) — mette la funzione in coda alle macro-task, che verrà eseguita dopo lo stack corrente e le micro-task.
  • Promise.resolve().then(...) — mette la funzione in coda alle micro-task, che vengono eseguite subito dopo lo stack corrente, ma prima delle macro-task.
  • console.log('4') — chiamata sincrona, stampa 4.

Ordine di esecuzione:

  1. Codice sincrono: 1, 4
  2. Micro-task: 3
  3. Macro-task: 2