我正在查询 Firestore 并将 Stream 作为 QuerySnapshots Stream 取回。我需要将流中包含的文档映射到对象列表。
下面的代码不起作用(显然)......也许我只是在看这完全错误。
List<UserTask> getUserTaskList() {
List<UserTask> list;
Stream<QuerySnapshot> stream =
Firestore.instance.collection('userTasks').snapshots();
stream.listen((snapshot) {
snapshot.documents.forEach((doc) {
UserTask userTask = UserTask(
doc.data['id'],
doc.data['Description'],
etc...);
list.add(userTask);
});
});
return list;
}
Run Code Online (Sandbox Code Playgroud)
使用上面的代码,由于它不等待整个流(或实际中的任何一个),因此 list 始终返回为 null。简而言之,如何将我的流转换为列表?
注意:我对 Dart 的世界还很陌生,所以对我放轻松 :)
谢谢!