Невозможно прослушать трансляцию Stream - PullRequest
0 голосов
/ 17 июня 2020

Мой стандартный поток:

var stream = (StreamController<int>()..add(1)).stream;
stream.listen(print); // prints 1

Мой широковещательный поток:

var stream = (StreamController<int>.broadcast()..add(1)).stream;
stream.listen(print); // doesn't print anything

1 Ответ

2 голосов
/ 18 июня 2020

Широковещательные потоки не буферизуют события, когда нет слушателя, в отличие от стандартных потоков. Сначала объявите широковещательный поток, прослушайте его, затем добавьте событие.

var controller= StreamController<int>.broadcast();
controller.stream.listen(print); 
controller.sink.add(1); // will print 1
...