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 lesStream.
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
Futureet nommer ses trois états ; - créer un
FutureavecFuture.delayed(),Future.value()etFuture.error(); - utiliser
.then(),.catchError()et.whenComplete(); - écrire une fonction
asyncet utiliserawait; - comprendre pourquoi une fonction
asyncretourne toujours unFuture; - attraper une erreur asynchrone avec
try/catch/finally; - reconnaître des
awaitinutilement séquentiels et les paralléliser avecFuture.wait(); - utiliser
unawaitedpour un future volontairement non attendu ; - écrire un
main()asynchrone ; - expliquer la différence entre un
Futureet unStream; - produire un
Streamavecasync*etyield; - consommer un
Streamavecawait foret aveclisten(); - transformer un
Streamavecmapetwhere; - 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