¿Ya dominas lo básico? Un curso estructurado de Dart & Flutter es la vía rápida para dar el salto.
Ver cursos de Dart & Flutter en UdemyEnlace de afiliado. No te cuesta nada extra.
- 01Preparar el entorno (lo que necesitas)
- 02Tu primera salida (print)
- 03Variables y tipos (var y anotaciones)
- 04Seguridad frente a null (? y !)
- 05Condicionales (la sentencia if)
- 06Repetir (el bucle for)
- 07Escribir tu propia función
- 08Repetir (el bucle while)
- 09Trabajar con listas (List)
- 10Trabajar con diccionarios (Map)
- 11Clases (orientación a objetos)
- 12Constructores
- 13Herencia
- 14Argumentos con nombre
- 15Trabajo asíncrono (Future, async, await)
- 16Trabajar con texto
- 17La sentencia switch
- 18El operador ternario
- 19Métodos de extensión
- 20[Proyecto] Construye un mini sistema de inventario
Trabajo asíncrono (Future, async, await)
En esta lección ejecutarás una tarea que tarda en terminar sin bloquear el resto del programa.
Un Future<String> representa un texto que estará disponible más adelante. La función que lo devuelve se marca con async, y await espera a que el resultado llegue antes de seguir a la línea siguiente.
El código de ejemplo imprime un aviso, espera un segundo simulando una descarga y luego imprime el dato recibido. Fíjate en que main() también lleva async: sin eso no podrías usar await dentro.
Cuesta un poco entender que await no congela la aplicación. Mientras espera, el programa sigue atendiendo otras cosas —en una aplicación móvil, las animaciones y los toques del usuario siguen funcionando— y retoma esta línea cuando el resultado llega. Ese es exactamente el motivo de que exista.
En el trabajo real es lo que sostiene cualquier aplicación: llamadas a una API, lectura de una base de datos o de un archivo. La regla práctica es que si una función lleva await dentro, tiene que llevar async en su declaración y devolver un Future, y eso se propaga hacia arriba por toda la cadena de llamadas.
🧪 Este sitio no puede compilar ni ejecutar Dart directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).
