Firebase Firestore的快照()是如何创建的,以及它如何通过flutter应用程序中的流监听数据库更新

idfiyjo8  于 2023-01-09  发布在  Flutter
关注(0)|答案(1)|浏览(114)

snapshots()方法中,该方法从Firestore的数据库返回Stream的文档或集合快照:

FirebaseFirestore.instance.collection("collection").snapshots();

流是如何完成的,我的意思是我应该知道和学习什么,以便作为一个例子,Stream将侦听端点/数据库的变化?
我有一个关于使用web套接字的想法,但我不认为这是它在snapshots()中使用的。
我不想创建一个Stream,每n次请求新数据。
我想要的东西,什么也不做时,没有发生在后端,但一旦我们改变了一些Stream应该知道它,并听取它。
谢谢大家!

eaf3rand

eaf3rand1#

第一部分你已经做对了,把它存储在一个变量中。

final myStream = FirebaseFirestore.instance.collection("collection").snapshots();

接下来,您需要在流中使用StreamBuilder过程

StreamBuilder(
  stream: myStream,
  builder: (context, AsyncSnapshot response) {
if(response.connectionState==Connectionstate.waiting) return const CircularProgressIndicator();
    final data = response.data();
    return WidgetToDisplayData()

}),
传递所有其他必需的参数,包括构建器小部件,它引用您想要的内容。Firebase有一个缓存机制,确保侦听器只有在数据库中检测到更改时才处于活动状态

相关问题