繁体   English   中英

从 firebase/flutter 返回对象列表

[英]return a list of objects from firebase/flutter

我在 Firebase 中有一个集合。 我用以下代码返回一个流:

Stream<List<T>> collectionStream<T>({
    @required String path,
    @required T builder(Map<String, dynamic> data),
  }) {
    final reference = Firestore.instance.collection(path);
    final snapshots = reference.snapshots();
    return snapshots.map((snapshot) =>
        snapshot.documents.map((snapshot) => builder(snapshot.data)).toList());
  }
}

我怎样才能返回List<T> 我不需要流。 我需要一份我的物品清单。

您可以使用从 collectionStream 返回的 Stream 的 .single getter 方法来获取 Future:

Stream<List<Bookmark>> bookmarkStream = collectionStream<Bookmark>(...);

...

List<Bookmark> singleList = await bookmarkStream.single;

代替

final snapshots = reference.snapshots();

你应该做

final _docs = reference.getDocuments();

这将返回一个包含_docs.documents列表的_docs.documents

然后,您可以遍历该 List 并获取将其映射到类所需的数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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