Sobes.tech
Junior — Middle

Pouvez-vous expliquer ce qu'est un Stream Controller en Dart et à quoi il sert?

sobes.tech IA

Réponse de l'IA

StreamController en Dart est une classe qui permet de créer et de gérer des flux de données (Streams). Il agit comme un intermédiaire qui peut recevoir des événements (données, erreurs, fin) et les transmettre aux auditeurs (abonnés) du flux.

L'objectif principal de StreamController est de créer un flux auquel on peut ajouter manuellement des événements, et d'autres parties du programme peuvent s'y abonner et réagir aux données entrantes.

Exemple d'utilisation:

import 'dart:async';

void main() {
  final controller = StreamController<int>();

  // Abonnement au flux
  controller.stream.listen((data) {
    print('Reçu: $data');
  });

  // Ajout de données au flux
  controller.add(1);
  controller.add(2);

  // Fermeture du contrôleur
  controller.close();
}

Ainsi, StreamController est utile pour créer ses propres flux d'événements, les gérer et transmettre des données entre des parties asynchrones de l'application.