从流中获取过去的值

时间:2013-11-20 22:41:58

标签: stream dart

是否可以从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'

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

1 个答案:

答案 0 :(得分:0)

广播流,按设计,不等待订阅引发事件。

但是,您可以在添加事件之前同时执行第一个和最后一个订阅。

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