Flutter 如何在Dart中制作Future.wait的流版本?
我想运行Future.wait处理一些网络呼叫,以便它们可以同时运行。我想在结果可用时进一步加快返回速度,以便开始显示它们。我想对Future.wait调用进行一个小小的修改就可以了,但不幸的是,它在内部使用私有类。有没有更好的方法来实现这一点 您可以使用Stream.fromFutures 流报告中流的未来结果 期货交易完成的顺序。每个未来都提供 数据事件或错误事件,取决于未来的完成方式 如果在启用Stream.fromFutures时某些期货已经完成 调用时,其结果将以未指定的顺序发出 当所有期货都完成时,流关闭 我的真实用例-显示加载比预期花费更多的时间 若我真正的api调用很快就结束了,那个么我只会产生LoadedState并停止侦听流 如果我的真实api调用太慢,special Future.delayed将启动特殊状态LoadingTakesToLongState 您可以使用Stream.fromFutures 流报告中流的未来结果 期货交易完成的顺序。每个未来都提供 数据事件或错误事件,取决于未来的完成方式 如果在启用Stream.fromFutures时某些期货已经完成 调用时,其结果将以未指定的顺序发出 当所有期货都完成时,流关闭 我的真实用例-显示加载比预期花费更多的时间 若我真正的api调用很快就结束了,那个么我只会产生LoadedState并停止侦听流 如果我的真实api调用太慢,special Future.delayed将启动特殊状态LoadingTakesToLongStateFlutter 如何在Dart中制作Future.wait的流版本?,flutter,dart,Flutter,Dart,我想运行Future.wait处理一些网络呼叫,以便它们可以同时运行。我想在结果可用时进一步加快返回速度,以便开始显示它们。我想对Future.wait调用进行一个小小的修改就可以了,但不幸的是,它在内部使用私有类。有没有更好的方法来实现这一点 您可以使用Stream.fromFutures 流报告中流的未来结果 期货交易完成的顺序。每个未来都提供 数据事件或错误事件,取决于未来的完成方式 如果在启用Stream.fromFutures时某些期货已经完成 调用时,其结果将以未指定的顺序发出 当所
美丽的解决我的问题真漂亮!解决我的问题
Stream<int> streamingInts = Stream.fromFutures([
Future.delayed(Duration(seconds: 1), () => 1),
Future.delayed(Duration(seconds: 2), () => 2),
]);
await for (final i in streamingInts) {
print(i);
}
Stream<BlocState> loadingStates = Stream.fromFutures([
Future.delayed(_kTooSlowDelay, () => LoadingTakesTooLongState()),
_loadData(),
]);
await for (var state in loadingStates) {
yield state;
if (state is LoadedState) break;
}
Future<LoadedState> _loadData() ...