Antes de trabajar con tareas que tardan, primero hay que entender una idea simple: en qué orden se ejecutan las líneas de código.
En JavaScript vamos a encontrar dos comportamientos:
Salida esperada en consola (orden):
1. Inicio2. Proceso3. FinAquí no hay sorpresas: la línea 1 termina, luego la 2, luego la 3.
Salida esperada en consola (orden):
1. Antes del temporizador2. Después del temporizador3. Mensaje diferidoAunque el setTimeout está en medio del código, su mensaje aparece al final porque se ejecuta más tarde.
Muchas personas creen que setTimeout(..., 0) se ejecuta “de inmediato”.
No: se agenda para después del bloque síncrono actual.
Salida esperada en consola (orden):
1. Inicio2. Fin del bloque síncrono3. Timeout 0msAunque el delay sea 0, sigue siendo asíncrono.
setTimeout es una forma simple de ver esa diferencia.Pensar: “si está escrito antes, debería salir antes”. En asincronía no siempre pasa eso, y justo por eso estamos practicándolo desde el inicio.
console.log síncronossetTimeout entre ellosEntender el orden de ejecución te da una base sólida para todo lo que sigue.