dart - 等待第一个流事件作为未来?
问题描述
我正在设置一个流,并希望将第一个值作为 Future 返回。
我想这样做是因为渲染某些组件需要第一个值,但之后它会继续更新组件。
如何在飞镖中实现这一目标?
解决方案
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;
推荐阅读
- android - Custom activity image background
- matlab - 文本大小与文件位置之间的关系
- python - 如何在具有多个值的 div 类中查找 ID BS4 Python
- python - 奇怪的相似性导致空间
- html - 使用 CSS/SASS 和焦点文本颜色更改 a:before 的背景 URL。
- tensorflow - TensorFlow-hub 文本模块预处理
- sql - 如何在具有深度关联的 activerecord 查询中执行 OR
- flutter - 插件无法在 iOS 上编译 - 在 Android 上运行
- java - ConcurrentLinkedHashMap.Builder 如何处理删除和获取?
- docker - 在 docker 环境中允许 https 请求