我觉得我在这里超级近。
Stream<List<ClassData>> get classdata {
return _firestore
.collection("Classes")
.snapshots()
.asyncMap((QuerySnapshot snapshot) => snapshot.documents
.where((element) {
bool h = false;
_firestore.collection("Tutors").document(uid).get().then((value) {
for (var item in value.data['classes']) {
if (element.documentID == item) {
h = true;
}
}
});
return h;
})
.map((e) => ClassData.fromUserMap(e.data, e.documentID))
.toList());
}
我需要根据将来返回的内容获取流。简而言之,我在数据库中有一些数据,并且它具有用于不同集合的文档ID数组。
我首先需要进入tutors集合并循环浏览这些文档ID,然后需要从仅与这些文档ID匹配的classes集合中获取类。
我几乎在这里遇到了问题,就是我需要等到数据通过后才能进行操作;返回。表示“ bool h = false”下面的行需要逐行运行,等待数据通过,然后再进行下一行。