Firestore同一路径多快照监听器:SDK是否仅建立单个服务器连接?
同一路径多个快照监听器的连接数问题
针对你提出的问题:在同一路径上设置两个快照监听器,Firebase SDK只会向服务器建立一个监听器连接,不会创建两个独立的连接。
具体说明
Firebase客户端SDK内部会对相同路径的快照监听器进行合并处理:
- 当你多次调用
onSnapshot监听同一个集合/文档路径时,SDK只会维持一条到服务器的订阅通道 - 当目标路径的数据发生变化时,服务器会将更新推送给SDK,再由SDK分发给所有注册在该路径上的本地回调函数
关于最佳实践
官方要求"保持每个客户端的快照监听器数量在100个以内",这里的计数是按不同的监听路径/查询条件来统计的,而非你调用onSnapshot的次数。所以像你示例中这种重复监听同一路径的情况,不会额外占用监听器配额,不用担心超出限制。
你的代码示例:
// First one db.collection("testCollection").onSnapshot(function(doc) {}); // Second one db.collection("testCollection").onSnapshot(function(doc) {});
内容的提问来源于stack exchange,提问作者flutroid
相关产品推荐
相关产品推荐

