Flutter-Firebase:for 循环后的语句未执行

时间:2021-04-20 10:56:30

标签: firebase flutter google-cloud-firestore async-await

我在 flutter 的 for 循环中进行 Firebase 查询,但是循环之后的语句没有被执行。目的是在 No-SQL 类型的数据库中连接两个表。

Future <List<Calllog>> fetchCalllog(String user_id) async {
  var return_list=[];
  print("NOOOOOOOOOOOOOO");
  var documentSnapshot =  await FirebaseFirestore.instance
      .collection("Calllog")
      .get();
for(DocumentSnapshot document in documentSnapshot.docs) {
    if (document.exists){
      Map<String, dynamic> data=document.data();
      print(data);
      var status = await FirebaseFirestore.instance
          .collection('Listener')
          .doc(data["Listener_id"])
          .get();
      if (status.exists){
      print("BRUH");
      Map<String, dynamic> statusdata=status.data();
      print(statusdata);
      var log = Calllog(Caller_id: user_id, Listener_id: data["Listener_id"], Listener_name: statusdata["Name"], Call_time: data["Call_time"], Call_duration: data["Call_duration"], status: statusdata["Toggle"]);
      print(log.Call_duration);
      return_list.add(log);
      print("DUDE");
      // return Future;
    }
  }
  }
  print("THIS NEVER EXECUTE");
  return return_list;
}

0 个答案:

没有答案
相关问题