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 AI

Respuesta de la IA

En el código proporcionado, hay dos cadenas de promesas, cada una comienza con Promise.resolve(). Es importante entender el orden de salida en la consola.

Cada .then() añade un manejador a la cola de microtareas, que se ejecutan después de la pila de llamadas actual.

Dado que ambas cadenas se crean secuencialmente, sus manejadores serán encolados en el orden en que se declaran.

Por lo tanto, la salida será:

1
2
11
22

Explicación:

  • Primero se ejecuta el primer .then(() => console.log(1)), que imprime 1.
  • Luego, el siguiente .then(() => console.log(2)), que imprime 2.
  • Después, se ejecuta .then(() => console.log(11)) de la segunda cadena, que imprime 11.
  • Y al final, .then(() => console.log(22)), que imprime 22.

Si quisiéramos que la salida fuera mezclada o en otro orden, sería necesario modificar la estructura de las promesas o usar setTimeout para llamadas diferidas.