Middle
// Promise.resolve() // .then(() => console.log(1)) // // .then(() => console.log(2)) // // Promise.resolve() // .then(() => console.log(11)) // // .then(() => console.log(22)) //
sobes.tech IA
Resposta da IA
No código fornecido, há duas cadeias de promessas, cada uma começa com Promise.resolve(). É importante entender a ordem de saída no console.
Cada .then() adiciona um manipulador à fila de microtarefas, que são executadas após a pilha de chamadas atual.
Como ambas as cadeias são criadas sequencialmente, seus manipuladores serão enfileirados na ordem em que são declarados.
Portanto, a saída será:
1
2
11
22
Explicação:
- Primeiro, executa-se o primeiro
.then(() => console.log(1)), que imprime1. - Depois, o próximo
.then(() => console.log(2)), que imprime2. - Em seguida, executa-se
.then(() => console.log(11))da segunda cadeia, que imprime11. - E, por fim,
.then(() => console.log(22)), que imprime22.
Se quisermos que a saída seja misturada ou em outra ordem, precisaríamos alterar a estrutura das promessas ou usar setTimeout para chamadas adiadas.