Écouter avec await for
Lire les événements au fur et à mesure de leur arrivée
Écouter avec await for est une leçon Dart Academy gratuite sur CoddyKit. Ceci est la leçon 1 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.
Qu'est-ce qu'un flux ?
Un flux est une suite de valeurs qui arrivent au fil du temps, et non toutes à la fois. Imaginez un Future capable de fournir de nombreux résultats au lieu d'un seul.
Streams et Future
Un Future vous fournit une valeur plus tard. Un Stream vous transmet toute une série d’événements, les uns après les autres, jusqu’à vous indiquer qu’il a terminé. 🌊
Découvrez await for
La boucle await for lit les événements d’un stream au fur et à mesure de leur arrivée. Chaque passage dans la boucle vous fournit la valeur suivante émise par le stream.
await for (final value in stream) {
print(value);
}Il doit s’exécuter dans async
Comme await for se met en pause pour attendre les événements, cette boucle ne fonctionne qu’à l’intérieur d’une fonction marquée async. La fonction est suspendue jusqu’à ce que la valeur suivante soit prête.
Future<void> show(Stream<int> s) async {
await for (final n in s) print(n);
}Un Stream à écouter
Vous pouvez créer rapidement un stream avec Stream.fromIterable. Il émet chaque élément de la liste dans l’ordre, ce qui est parfait pour essayer await for.
final stream = Stream.fromIterable([1, 2, 3]);Parcourir les événements
Associez ce stream à await for et votre boucle s’exécute une fois pour chaque valeur émise. Ici, elle affiche 1, puis 2, puis 3.
await for (final n in Stream.fromIterable([1, 2, 3])) {
print(n);
}Attendre entre les événements
Les stream réels marquent souvent une pause entre les événements. Avec await for, votre code attend simplement pendant ces intervalles, puis reprend dès que la valeur suivante arrive. ⏳
final ticks = Stream.periodic(
Duration(seconds: 1), (i) => i);La boucle se termine naturellement
Lorsqu’un stream a fini d’envoyer ses événements, il envoie un signal de fin. Votre boucle await for se termine d’elle-même, puis la fonction continue son exécution.
await for (final n in finiteStream) print(n);
print('Stream finished');Les erreurs atteignent la boucle
Si le stream émet une erreur, cette erreur est levée directement sur la ligne await for. Vous pouvez entourer la boucle d’un bloc try/catch pour la gérer proprement.
try {
await for (final n in maybeFails) print(n);
} catch (e) {
print('Caught: $e');
}break annule l’écoute
L’utilisation de break dans await for arrête la boucle et annule discrètement votre abonnement au stream. Vous ne recevez plus les événements restants.
await for (final n in stream) {
if (n > 100) break;
}Un seul écouteur à la fois
Une boucle await for s’abonne à un stream à abonnement unique. Ce stream ne peut être lu qu’une seule fois : une deuxième boucle dessus provoquerait une erreur.
Vérification rapide
Vérifiez ce que vous savez sur await for.
Récapitulatif
Vous avez appris qu’un Stream fournit de nombreuses valeurs au fil du temps et que await for les lit une par une dans une fonction async, jusqu’à la fin. Bravo ! 🎉
Questions Fréquemment Posées
La leçon « Écouter avec await for » est-elle gratuite ?
Oui — le texte complet de « Écouter avec await for » 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 « Écouter avec await for » ?
Lire les événements au fur et à mesure de leur arrivée 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 1 sur 4.
Combien de temps prend la leçon « Écouter avec await for » ?
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
- Écouter avec await for
- Flux uniques ou diffusés
- Transformer les flux : map, where, take
- Créer des flux avec async*