【发布时间】:2020-07-21 03:26:39
【问题描述】:
我正在使用 Flutter 从服务器下载 3 组不同的数据,然后对所有 3 组进行处理。我可以这样做:
List<Foo> foos = await downloader.getFoos();
List<Bar> bars = await downloader.getBars();
List<FooBars> foobars = await downloader.getFooBars();
processData(foos, bars, foobars);
但我更喜欢并行异步下载所有 3 个数据集。我已经看到 Dart 有这个 Future.wait method:
Future<List<T>> wait <T>(
Iterable<Future<T>> futures, {
bool eagerError: false,
void cleanUp(
T successValue
)
})
但是看起来这只会返回相同类型 (T) 的值。我有 3 种不同的类型,所以我不知道如何使用它并取回我的 3 个数据集。
实现这一目标的最佳替代方法是什么?
谢谢!
【问题讨论】:
标签: flutter asynchronous dart concurrency future