首页 > 解决方案 > 等待第一个流事件作为未来?

问题描述

我正在设置一个流,并希望将第一个值作为 Future 返回。

我想这样做是因为渲染某些组件需要第一个值,但之后它会继续更新组件。

如何在飞镖中实现这一目标?

标签: dart

解决方案


myStream.first

确实返回Future带有第一个值的 a

更新

根据下面的评论

var isFirst = true;
var completer = new Completer<Object>();
myStream.listen((event) {
  if(isFirst) {
    isFirst = false;
    completer.complete(event);
  } 
  setState(() => foo = event);
});
return completer.future;

推荐阅读