Back to questions
Junior — Middle
143
Можете объяснить, что такое Stream Controller в Dart и для чего он используется?
Companies where asked
Pashapay
Answer from AI
sobes.tech 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 полезен для создания собственных потоков событий, управления ими и передачи данных между асинхронными частями приложения.