![](/img/trans.png)
[英]Flutter error: The argument type 'Stream<QuerySnapshot<Map<String, dynamic>>>' can't be assigned to the parameter type 'Future<QuerySnapshot<Object?>>
[英]How can I convert a Stream<QuerySnapshot<Map<String, dynamic>>> to a List<Object>? Flutter
在 cloud_firestore 的最后一次更新中,当我使用旧代码运行应用程序时出现错误。 如何将 Stream<QuerySnapshot<Map<String, dynamic>>> 转换为列表?
我有这个代码,我得到 null 值:
Stream<List<Model>> getReviews(String id) {
try {
return _collectionReference.doc(id).collection('reviews').orderBy('date', descending: true).snapshots().map((reviews) => reviews.docs.map((review) => Model.fromJson(review.data())));
} catch (error) {
return error.message;
}
}
如果您只想获取List<Model>
使用get
调用并在返回List<Model>
之前等待结果,如下所示:
Future<List<Model>> getReviews(String id) {
try {
QuerySnapshot querySnapshot=await _collectionReference.doc(id).collection('reviews').orderBy('date', descending: true).get();
List<Model> result;
querySnapshot.docs.forEach((doc) {
print(doc["first_name"]);
result.add(Model.fromJson(review.data()));
});
return result;
} catch (error) {
return error.message;
}
确保将getReviews
作为异步调用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.