0Pricing
Dart Academy · Lección

El bucle de eventos y los microtasks

Comprender cómo Dart planifica el trabajo asíncrono.

El bucle de eventos y los microtasks es una lección gratuita de Dart Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Dart Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Dart Academy incluye 4 lecciones en total.

Un hilo, sin esperas

Dart ejecuta su código en un solo hilo, pero nunca se congela. El secreto es el bucle de eventos, que programa el trabajo en lugar de bloquearlo. ⚡

Qué hace el bucle de eventos

El bucle de eventos es un ciclo sencillo: toma la siguiente tarea pendiente, la ejecuta hasta completarla y repite el proceso. Su código se ejecuta en fragmentos ordenados y sin interrupciones.

Primero lo síncrono

Todo su código normal, ejecutado de arriba abajo, se ejecuta primero. El bucle solo empieza a gestionar las tareas programadas cuando termina ese trabajo síncrono.

Dos colas

El bucle extrae elementos de dos colas: la cola de microtareas y la cola de eventos. Las microtareas siempre tienen prioridad sobre los eventos.

La cola de microtareas

Una microtarea es un trabajo diferido pequeño, como una devolución de llamada de un Future completado. El bucle vacía todas las microtareas antes de acceder a la cola de eventos.

La cola de eventos

La cola de eventos contiene elementos más grandes: temporizadores, lecturas de archivos, pulsaciones y respuestas de red. Estos esperan hasta que terminan todas las microtareas.

Programar una microtarea

Puede enviar trabajo a la cola de microtareas mediante scheduleMicrotask. Se ejecuta después del código actual, pero antes que cualquier evento.

scheduleMicrotask(() => print("microtask"));
print("right now");

Programar un evento

Un Timer (o Future.delayed con cero) coloca una devolución de llamada en la cola de eventos, por lo que se ejecuta después de todas las microtareas pendientes.

Timer.run(() => print("event"));
print("right now");

Las microtareas ganan

Si ambas colas contienen elementos, la microtarea se ejecuta primero. Este orden mantiene las cadenas de Future rápidas y predecibles.

scheduleMicrotask(() => print("A"));
Timer.run(() => print("B"));
// prints A then B

Por qué todo sigue fluido

Como cada tarea se ejecuta hasta completarse, su aplicación nunca queda actualizada a medias. El bucle mantiene todo respondiendo sin que usted tenga que gestionar hilos manualmente.

No bloquee el bucle

Inundar la cola de microtareas puede bloquear los eventos indefinidamente y congelar la entrada. Mantenga breves las microtareas y permita que los eventos tengan su turno.

Comprobación rápida

Comprobación rápida del orden de las colas.

Resumen: el bucle de eventos

Ha aprendido que el bucle de eventos ejecuta primero el código síncrono, después vacía las microtareas y, por último, procesa los eventos. Este orden mantiene Dart en un solo hilo y, aun así, fluido. 🎉

Preguntas frecuentes

¿La lección «El bucle de eventos y los microtasks» es gratis?

Sí — el texto completo de «El bucle de eventos y los microtasks» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Dart Academy, actualiza a CoddyKit PRO. El curso de Dart Academy incluye 4 lecciones en total.

¿Qué aprenderé en «El bucle de eventos y los microtasks»?

Comprender cómo Dart planifica el trabajo asíncrono. Practicas Dart Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Dart Academy?

No se requiere experiencia previa. Dart Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «El bucle de eventos y los microtasks»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Dart Academy?

Sí. Cada lección de Dart Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. El bucle de eventos y los microtasks
  2. Crear y esperar Futures
  3. Gestión de errores en código async
  4. Future.wait y trabajo paralelo
← Volver a Dart Academy