/** * Praticar 1 — Ordem de execução. * * npx tsx praticar/01-ordem-execucao.ts */ // TODO 1: antes de escrever qualquer código, escreva aqui, em comentário, a // ordem em que você espera que as cinco linhas abaixo apareçam. // Sua previsão: ____________________ console.log('A — síncrono'); setTimeout(() => console.log('B — setTimeout 0 ms'), 0); setTimeout(() => console.log('C — setTimeout 10 ms'), 10); void Promise.resolve().then(() => console.log('D — microtask')); console.log('E — síncrono'); // TODO 2: rode e compare com a sua previsão. Se errou, escreva em uma frase // qual regra você não aplicou. // TODO 3: acrescente, DEPOIS da linha E, um segundo `queueMicrotask` que // imprima 'F'. Antes de rodar, responda: F sai antes ou depois de D? Por quê? // TODO 4: faça 'B' aparecer DEPOIS de 'C' sem mexer nos valores 0 e 10. // Dica: agende o timer de B dentro do callback de C; só trocar linhas não garante a ordem.