【问题标题】:Not able to listen to a broadcast Stream无法收听广播流
【发布时间】:2020-10-07 14:06:33
【问题描述】:

我的标准直播:

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

【问题讨论】:

    标签: dart rxdart


    【解决方案1】:

    与标准流不同,当没有侦听器时,广播流不会缓冲事件。先声明广播流,监听再添加事件。

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

    【讨论】: