Capítulo 15 — Programación asíncrona: Future, async, await
Parte 1A — Aprender Dart · Capítulo 15 de 62 · 6 h
Capítulo 15 — Programación asíncrona: Future, async, await
Nivel: intermedio Duración estimada: 6 h Requisitos previos: capítulo 13 — Excepciones y gestión de errores, capítulo 14 — Programación funcional sobre colecciones Lo que sabrás hacer al terminar: escribir un programa que espera un resultado largo (carga, red, archivo) sin bloquear nunca el resto de la aplicación, dominando
Future,async,await,Future.wait()y losStream.
15.0 — Objetivos del capítulo
Al terminar este capítulo, serás capaz de:
- explicar por qué una operación larga no debe bloquear nunca el programa;
- distinguir un procesamiento síncrono de uno asíncrono;
- explicar qué es el event loop de Dart y por qué Dart es monohilo;
- predecir el orden real de salida de un programa asíncrono;
- definir un
Futurey nombrar sus tres estados; - crear un
FutureconFuture.delayed(),Future.value()yFuture.error(); - utilizar
.then(),.catchError()y.whenComplete(); - escribir una función
asyncy utilizarawait; - comprender por qué una función
asyncsiempre devuelve unFuture; - capturar un error asíncrono con
try/catch/finally; - reconocer
awaitsecuenciales innecesarios y paralelizarlos conFuture.wait(); - utilizar
unawaitedpara un future que no se espera de forma deliberada; - escribir un
main()asíncrono; - explicar la diferencia entre un
Futurey unStream; - producir un
Streamconasync*yyield; - consumir un
Streamconawait fory conlisten(); - transformar un
Streamconmapywhere; - explicar por qué Flutter se basa por completo en lo asíncrono.
Comentarios
Los comentarios funcionan con GitHub Discussions
Inicia sesión con GitHub para participar en la discusión