【问题标题】:Get past values from streams从流中获取过去的值
【发布时间】:2013-12-05 04:42:33
【问题描述】:

是否可以从 StreamController.broadcast / Stream 获取最后添加的值或以前的值。

基本上我订阅了on('data')on('ready') 等流,例如,如果有人在触发事件后收听on('ready'),他们可以从广播流中获取最后一个值,例如。 'I\'m ready'.

类似:

StreamController x = StreamController.broadcast();

first = x.first.then(doSomething);
x.add('oneOffEvent');
// first ~ 'oneOffEvent'
x.close()
other = x.last.then(doSomethingElse);
// other ~ 'oneOffEvent'

如果不将值缓存在其他地方,这是否可能?

【问题讨论】:

    标签: stream dart


    【解决方案1】:

    根据设计,广播流不等待订阅触发事件。

    但是,您可以在添加事件之前进行第一次和最后一次订阅。

    添加许多订阅。这就是广播订阅的好处。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-20
      • 2014-07-02
      • 2023-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多