Junior — Middle
Paaiškinkite duomenų srautų koncepciją programavime ir jų taikymą.
sobes.tech AI
Atsakymas iš AI
Duomenų srautai (streams) programavime yra sekos duomenų, kurie atkeliauja asinchroniškai laike. Jie leidžia apdoroti įvykius ar duomenis jų pasirodymo metu, neblokiruojant pagrindinio vykdymo srauto.
Flutter dažnai naudoja duomenų srautus darbui su asinchroniniais įvykiais, tokiais kaip naudotojo įvestis, duomenų gavimas iš tinklo ar būsenos atnaujinimai.
Dart pavyzdys naudojant Stream:
Stream<int> countStream(int max) async* {
for (int i = 1; i <= max; i++) {
await Future.delayed(Duration(seconds: 1));
yield i; // siunčia naują reikšmę į srautą
}
}
void main() {
var stream = countStream(3);
stream.listen((value) {
print('Gauta reikšmė: $value');
});
}
Čia kas sekundę į srautą siunčiama nauja skaičius, o klausytojas gauna šias reikšmes jų pasirodymo metu. Šis požiūris yra naudingas reaktyviam programavimui ir įvykių apdorojimui realiu laiku.