繁体   English   中英

如何转换 Stream <querysnapshot<map<string, dynamic> &gt;&gt; 到列表<object> ? Flutter<div id="text_translate"><p> 在 cloud_firestore 的最后一次更新中,当我使用旧代码运行应用程序时出现错误。 如何将 Stream&lt;QuerySnapshot&lt;Map&lt;String, dynamic&gt;&gt;&gt; 转换为列表?</p><p> 我有这个代码,我得到 null 值:</p><pre> Stream&lt;List&lt;Model&gt;&gt; getReviews(String id) { try { return _collectionReference.doc(id).collection('reviews').orderBy('date', descending: true).snapshots().map((reviews) =&gt; reviews.docs.map((review) =&gt; Model.fromJson(review.data()))); } catch (error) { return error.message; }</pre><p> } </p></div></object></querysnapshot<map<string,>

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM