0%
Programmation asynchrone : Future, async, await — Chapitre 15

Chapitre 15 — Programmation asynchrone : Future, async, await

Partie 1A — Apprendre Dart · Chapitre 15 sur 62 · 6 h

Chapitre 15 — Programmation asynchrone : Future, async, await

Niveau : intermédiaire Durée estimée : 6 h Pré-requis : chapitre 13 — Exceptions et gestion des erreurs, chapitre 14 — Programmation fonctionnelle sur les collections Ce que vous saurez faire à la fin : écrire un programme qui attend un résultat long (chargement, réseau, fichier) sans jamais bloquer le reste de l'application, en maîtrisant Future, async, await, Future.wait() et les Stream.


15.0 — Objectifs du chapitre

À la fin de ce chapitre, vous serez capable de :

  • expliquer pourquoi une opération longue ne doit jamais bloquer le programme ;
  • distinguer un traitement synchrone d'un traitement asynchrone ;
  • expliquer ce qu'est l'event loop de Dart et pourquoi Dart est mono-thread ;
  • prédire l'ordre réel d'affichage d'un programme asynchrone ;
  • définir un Future et nommer ses trois états ;
  • créer un Future avec Future.delayed(), Future.value() et Future.error() ;
  • utiliser .then(), .catchError() et .whenComplete() ;
  • écrire une fonction async et utiliser await ;
  • comprendre pourquoi une fonction async retourne toujours un Future ;
  • attraper une erreur asynchrone avec try / catch / finally ;
  • reconnaître des await inutilement séquentiels et les paralléliser avec Future.wait() ;
  • utiliser unawaited pour un future volontairement non attendu ;
  • écrire un main() asynchrone ;
  • expliquer la différence entre un Future et un Stream ;
  • produire un Stream avec async* et yield ;
  • consommer un Stream avec await for et avec listen() ;
  • transformer un Stream avec map et where ;
  • expliquer pourquoi Flutter repose entièrement sur l'asynchrone.

Commentaires

Les commentaires sont alimentés par GitHub Discussions

Connectez-vous avec GitHub pour participer à la discussion

Lien copié !