Ankon AI
Gallery

¿Por qué JavaScript no ejecuta tu código en orden? 🤯

by livelyotter6843 viewsSpanish1:032h ago

¿Por qué JavaScript no ejecuta tu código en orden? 🤯

¿Alguna vez escribiste tres líneas de código, las ejecutaste y el resultado apareció en un orden completamente inesperado? No estás loco, es el Event Loop en acción. JavaScript funciona con un solo hilo de ejecución, pero tiene un sistema inteligente para manejar tareas: el Call Stack, la Task Queue y la Microtask Queue. Las Promesas siempre tienen prioridad sobre los setTimeout, sin importar el tiempo que les pongas. Entender cómo el navegador realmente ejecuta tu código es lo que separa a alguien que programa por suerte de alguien que programa con control total.

Transcript

Escribes tres líneas de código, las ejecutas, y el orden de salida no tiene ningún sentido. ¿Por qué? JavaScript tiene un solo hilo, como una caja registradora con un único cajero. Ese cajero es el Call Stack, donde el código corre línea por línea. Mira este ejemplo: console.log de "Tarea 1", un setTimeout con cero milisegundos para "Tarea 2", dos Promises para "Microtarea 1" y "Microtarea 2", y console.log de "Tarea 3". El navegador lo ejecuta así: "Tarea 1" entra al Call Stack y se imprime. El setTimeout manda "Tarea 2" a la Task Queue, sala de espera. Las Promises van a la Microtask Queue, fila VIP. "Tarea 3" se imprime. El cajero queda libre. Ahí actúa el Event Loop: primero vacía la fila VIP, "Microtarea 1" y "Microtarea 2", y solo entonces atiende "Tarea 2". Cero milisegundos no significa inmediato. Las microtareas siempre ganan, sin excepción. Entender el Event Loop es la diferencia entre código que funciona por casualidad y código que tú controlas.

Want a video like this?

Give Ankon a topic — it writes, draws, and narrates a whiteboard explainer in minutes.

Make your own — free

More Spanish whiteboard explainers