从Firestore获取地图并将其设置为新地图

时间:2020-07-08 16:10:12

标签: flutter dart

我有两种方法,第一种用于获取存储在Firestore中的地图

Future daysMap(FirebaseUser user, String packageCode, int totalDays) async {
  await users.document(user.uid).collection('myPackages')
      .document(packageCode)
      .get().then((doc){
       // print(doc.data['DaysMap']);

        return doc.data['DaysMap'];
  });
}

它可以正常工作并打印出地图。第二种方法是将Firestore中的地图设置为新地图,以便在其上循环。

currentWorkout(FirebaseUser user, String packageCode,totalDays) async {
  Map<dynamic, dynamic> days = await daysMap(user, packageCode, totalDays);
  print(days);
}

当我打印新地图“天”时,它总是打印为空。

1 个答案:

答案 0 :(得分:1)

尝试使用 async / await 样式。


Future daysMap(FirebaseUser user, String packageCode, int totalDays) async {
 DocumentSnapshot doc =  await users.document(user.uid).collection('myPackages').document(packageCode).get();

 return doc.data['DaysMap'];

}