Junior — Middle
Welke methoden kunnen worden gebruikt om een datastroom in Dart te implementeren?
sobes.tech AI
Antwoord van AI
In Dart kunnen verschillende benaderingen worden gebruikt om datastromen (streams) te implementeren:
- Stream en StreamController — de belangrijkste manier om met streams te werken.
StreamControllermaakt het mogelijk om een stream te creëren waaraan gebeurtenissen kunnen worden toegevoegd, enStreamis de stream zelf waarop je je kunt abonneren.
final controller = StreamController<int>();
controller.stream.listen((data) {
print('Ontvangen: $data');
});
controller.add(1);
controller.add(2);
controller.close();
- Asynchrone generators (async)* — maken het mogelijk om een datastroom te creëren met behulp van een functie die een
Streamretourneert en het sleutelwoordyieldgebruikt om waarden uit te zenden.
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);
- Gebruik van kant-en-klare streams uit bibliotheken — bijvoorbeeld
Stream.periodicvoor periodieke gebeurtenissen.
De belangrijkste methoden zijn dus het gebruik van StreamController voor het maken en beheren van streams en asynchrone generators voor het eenvoudig maken van streams met gegevensgeneratielogica.