gpt4 book ai didi

foreach - Dart - 是否有可能改变 future.forEach。到 map ?

转载 作者:行者123 更新时间:2023-12-02 12:29:12 24 4
gpt4 key购买 nike

所以基本上我有这段工作代码:

List<User> users = List();
await Future.forEach(querySnapshot.documents, (doc) async {
final snapshot = await doc['user'].get();
users.add(User(id: snapshot["id"], name: snapshot["mail"]));
});

return users;

它工作正常并且完全符合我的需要,但我想知道是否有办法以某种方式将其更改为 map ,例如:

return querySnapshot.documents.map((doc) async {
final snapshot = await doc['user'].get();
User(id: snapshot["id"], name: snapshot["mail"]);
}).toList{growable: true};

当我这样做时,问题是它说:List >类型的值不能分配给List 类型的变量。

所以我想知道这是否可能,或者唯一的方法是使用 Future.forEach

最佳答案

要将 Future 列表转换为单个 Future,请使用 Future.wait来自 dart:async。 (另外不要忘记返回用户对象)。

final List<User> = await Future.wait(querySnapshot.documents.map((doc) async {
final snapshot = await doc['user'].get();
return User(id: snapshot["id"], name: snapshot["mail"]);
}));

关于foreach - Dart - 是否有可能改变 future.forEach。到 map ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51339904/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com