Middle
¿En qué orden se mostrarán los números en el código con Promise, setTimeout y código síncrono (Event Loop)?
sobes.tech AI
Respuesta de la IA
En JavaScript, el orden de ejecución del código con Promise, setTimeout y código síncrono está determinado por el Event Loop y las colas de microtareas (microtasks) y macro tareas (macrotasks).
Veamos un ejemplo:
console.log('1');
setTimeout(() => {
console.log('2');
}, 0);
Promise.resolve().then(() => {
console.log('3');
});
console.log('4');
Explicación:
- Primero se ejecuta todo el código síncrono, por lo que se muestran
1y4. - Luego se ejecutan las microtareas (Promise), mostrando
3. - Después se ejecutan las macro tareas (setTimeout), mostrando
2.
El orden final de salida es: 1, 4, 3, 2.
Por lo tanto, el código síncrono se ejecuta primero, seguido de las microtareas (Promise), y luego las macro tareas (setTimeout). Este es un concepto clave para entender el Event Loop en JavaScript.