0%
Programación asíncrona: Future, async, await — Capítulo 15

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 los Stream.


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 Future y nombrar sus tres estados;
  • crear un Future con Future.delayed(), Future.value() y Future.error();
  • utilizar .then(), .catchError() y .whenComplete();
  • escribir una función async y utilizar await;
  • comprender por qué una función async siempre devuelve un Future;
  • capturar un error asíncrono con try / catch / finally;
  • reconocer await secuenciales innecesarios y paralelizarlos con Future.wait();
  • utilizar unawaited para un future que no se espera de forma deliberada;
  • escribir un main() asíncrono;
  • explicar la diferencia entre un Future y un Stream;
  • producir un Stream con async* y yield;
  • consumir un Stream con await for y con listen();
  • transformar un Stream con map y where;
  • 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

¡Enlace copiado!