Sobes.tech
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 imprime 1.
  • Depois, o próximo .then(() => console.log(2)), que imprime 2.
  • Em seguida, executa-se .then(() => console.log(11)) da segunda cadeia, que imprime 11.
  • E, por fim, .then(() => console.log(22)), que imprime 22.

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.