Sobes.tech
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.