Flutter Firestore具有相同文档的两个StreamBuilder计为2次读取?

时间:2019-06-29 00:46:17

标签: firebase flutter dart google-cloud-firestore

在我的Flutter应用程序中,如果我有两个嵌套的StreamBuilders从同一文档中读取,那么它将算作Firestore的两次读取?还是以仅计为一次读取的方式缓存?

这是我所谈论的例子。

StreamBuilder(
  stream: Firestore.instance.document(path).snapshots(),
  builder: (context, asnap){
    //Some nested widgets...
    return StreamBuilder(
      stream: Firestore.instance.document(path).snapshots(),
      builder: (context, asnap){
        return MyWidget();
      },
    );
  },
);

1 个答案:

答案 0 :(得分:0)

据我所知,Firestore客户端对这些侦听器进行了重复数据删除。因此,如果第一个侦听器已经对完全相同的数据处于活动状态,则不会附加第二个侦听器。因此,您无需为两次读取支付费用,但是(可能对您的用户而言更为重要)数据将仅传输一次。