0Pricing
Dart Academy · Leçon

Future.wait et travail parallèle

Exécuter plusieurs futures simultanément

Future.wait et travail parallèle est une leçon Dart Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Dart Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Dart Academy comprend 4 leçons au total.

Attendre les Futures une par une est lent

Attendre les Futures en séquence oblige chacune à attendre la précédente. Trois appels d'une seconde prennent alors trois secondes au total.

Les démarrer ensemble

Lancez d'abord les appels asynchrones indépendants, puis attendez-les. Ils s'exécutent simultanément : la durée totale dépend du plus lent, et non de leur somme.

Découvrez Future.wait

Future.wait reçoit une liste de Futures et renvoie un Future qui se termine lorsque tous sont terminés.

final results = await Future.wait([a(), b(), c()]);

Les résultats restent dans l'ordre

Future.wait vous fournit une liste de résultats dans le même ordre que les Futures d'entrée, quel que soit celui qui a fini en premier.

final list = await Future.wait([one(), two()]);
print(list[0]); // result of one()

Un vrai gain de temps

Trois Futures parallèles d'une seconde se terminent ensemble en environ une seconde, car Future.wait fait se chevaucher les attentes.

Si l'un échoue

Par défaut, si un Future produit une erreur, Future.wait se termine immédiatement avec cette erreur, même si d'autres sont encore en cours.

Continuer avec eagerError

Passez eagerError: false et Future.wait attend toujours la fin de chaque Future avant de signaler la première erreur rencontrée.

await Future.wait(tasks, eagerError: false);

Faire la course avec Future.any

Vous avez seulement besoin du résultat le plus rapide ? Future.any se termine dès que le premier Future de la liste réussit.

final fastest = await Future.any([mirrorA(), mirrorB()]);

Construire la liste

Un motif courant consiste à appliquer map à vos entrées pour créer une liste de Futures, puis à la transmettre directement à Future.wait.

await Future.wait(ids.map(fetchUser));

Simultané, mais pas avec plusieurs fils

Il s'agit de concurrence au sein d'un seul isolate : la boucle d'événements entrelace les périodes d'attente. Pour les travaux exigeant beaucoup de CPU, vous utiliseriez des isolates.

Quand utiliser chaque solution

Utilisez Future.wait lorsque vous avez besoin de tous les résultats, et Future.any lorsque seul le premier résultat disponible vous intéresse. ⚖️

Vérification rapide

Vérification rapide de l'exécution simultanée des Futures.

Récapitulatif : les Futures parallèles

Vous avez appris à faire se chevaucher le travail asynchrone avec Future.wait pour obtenir tous les résultats, Future.any pour obtenir le plus rapide, ainsi qu'à comprendre le comportement des erreurs. 🏁

Questions Fréquemment Posées

La leçon « Future.wait et travail parallèle » est-elle gratuite ?

Oui — le texte complet de « Future.wait et travail parallèle » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Dart Academy, passe à CoddyKit PRO. Le cours Dart Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Future.wait et travail parallèle » ?

Exécuter plusieurs futures simultanément Tu pratiques Dart Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Dart Academy ?

Aucune expérience préalable n'est requise. Dart Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « Future.wait et travail parallèle » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Dart Academy ?

Oui. Chaque leçon Dart Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Boucle d’événements et microtâches
  2. Créer et attendre des Futures
  3. Gestion des erreurs dans le code asynchrone
  4. Future.wait et travail parallèle
← Retour à Dart Academy