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.