Sobes.tech
Junior — Middle

Обяснете концепцията за потоци от данни в програмирането и тяхното приложение.

sobes.tech AI

Отговор от AI

Потоците от данни (streams) в програмирането са последователности от данни, които пристигат асинхронно във времето. Те позволяват обработката на събития или данни, докато се появяват, без да блокират основния поток на изпълнение.

В Flutter потоките от данни често се използват за работа с асинхронни събития, като въвеждане от потребителя, получаване на данни от мрежата или актуализации на състоянието.

Пример за използване на Stream в Dart:

Stream<int> countStream(int max) async* {
  for (int i = 1; i <= max; i++) {
    await Future.delayed(Duration(seconds: 1));
    yield i; // изпраща нова стойност към потока
  }
}

void main() {
  var stream = countStream(3);
  stream.listen((value) {
    print('Получена стойност: $value');
  });
}

Тук всяка секунда към потока се изпраща ново число, а слушателят получава тези стойности, докато се появяват. Този подход е полезен за реактивно програмиране и обработка на събития в реално време.