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');
});
}
Тук всяка секунда към потока се изпраща ново число, а слушателят получава тези стойности, докато се появяват. Този подход е полезен за реактивно програмиране и обработка на събития в реално време.