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 imprime1. - Luego, el siguiente
.then(() => console.log(2)), que imprime2. - Después, se ejecuta
.then(() => console.log(11))de la segunda cadena, que imprime11. - Y al final,
.then(() => console.log(22)), que imprime22.
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.