Sobes.tech
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 1 y 4.
  • 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.