Junior — Middle
Welche Methoden können verwendet werden, um einen Datenstrom in Dart zu implementieren?
sobes.tech KI
Antwort von AI
In Dart können verschiedene Ansätze zur Implementierung von Datenströmen (Streams) verwendet werden:
- Stream und StreamController — die Hauptmethode zur Arbeit mit Streams.
StreamControllerermöglicht die Erstellung eines Streams, dem Ereignisse hinzugefügt werden können, undStreamist der Stream selbst, auf den man abonnieren kann.
final controller = StreamController<int>();
controller.stream.listen((data) {
print('Empfangen: $data');
});
controller.add(1);
controller.add(2);
controller.close();
- Asynchrone Generatoren (async)* — ermöglichen die Erstellung eines Datenstroms mit einer Funktion, die einen
Streamzurückgibt und das Schlüsselwortyieldverwendet, um Werte auszugeben.
Stream<int> countStream(int to) async* {
for (int i = 1; i <= to; i++) {
yield i;
await Future.delayed(Duration(seconds: 1));
}
}
countStream(3).listen(print);
- Verwendung vorgefertigter Streams aus Bibliotheken — z.B.
Stream.periodicfür periodische Ereignisse.
Die Hauptmethoden sind also die Verwendung von StreamController zur Erstellung und Steuerung von Streams sowie asynchrone Generatoren zur einfachen Erstellung von Streams mit Daten-Generierungslogik.