我在 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;
}