【发布时间】:2018-11-14 05:52:05
【问题描述】:
我有一个函数可以返回类型为 duration 的 Future。
Future loadur(TimerService timerservice) async {
var dur = Duration.zero;
dur = await timerservice.currentDuration();
return dur;}
未来从一个计时器服务中获取持续时间,该服务更新自身以运行计时器。现在我希望将未来转换为流,以便我可以在 StreamBuilder 中显示它(Futurebuilder 不更新计时器)。
任何将未来转换为持续时间流的方法都会有所帮助。
【问题讨论】:
-
无法理解这个问题。您能否解释一下您要解决的实际问题是什么?
-
我有一个包含计时器/秒表的计时器服务,上面的函数从计时器服务返回时间作为未来。因为它是一个计时器,它每秒左右更新一次。现在我想显示我可以使用未来构建器的持续时间,但它不会每秒更新。所以我需要使用流构建器,但持续时间是未来
-
Future 有 .asStream() 方法可以转换成 Stream。
-
转换为流的 Future 仍然只会发出一个事件。也许您想使用持续时间来创建
Stream.periodic(duration) -
@Bawantha 我猜像
Connectivity().onConnectivityChange.asyncMap((_) => Connectivity().getWifiName()).listen(...)