Junior — Middle
Можете ли да обясните какво е Stream Controller в Dart и за какво се използва?
sobes.tech AI
Отговор от AI
StreamController в Dart е клас, който позволява създаването и управлението на потоци от данни (Streams). Той действа като посредник, който може да приема събития (данни, грешки, завършване) и да ги предава на слушателите (абонатите) на потока.
Основната цел на StreamController е да създаде поток, към който може ръчно да се добавят събития, а други части от програмата могат да се абонират за този поток и да реагират на входящите данни.
Пример за използване:
import 'dart:async';
void main() {
final controller = StreamController<int>();
// Абониране за потока
controller.stream.listen((data) {
print('Получено: $data');
});
// Добавяне на данни към потока
controller.add(1);
controller.add(2);
// Затваряне на контролера
controller.close();
}
По този начин, StreamController е полезен за създаване на собствени потоци от събития, управление им и предаване на данни между асинхронните части на приложението.