每次订阅某个数据库路径时,firebase Web客户端都会下载数据吗?

问题描述 投票:0回答:1

在我的角应用程序中,我使用AngularFire访问firebase实时数据库。

我有以下方法来检索某个数据库路径中的实体。

private db: AngularFireDatabase;

public getAll(): Observable<Item[]> {
    return this.db.list<Item>('some/db/path').valueChanges();
}

如果我多次调用上面的方法,数据是否会从服务器多次下载,或者firebase客户端第二次使用本地缓存?

如果数据被多次下载,有什么办法可以指示firebase客户端使用本地缓存吗?

angular firebase firebase-realtime-database
1个回答
1
投票

Firebase实时数据库客户端会对侦听器进行重复数据删除。这意味着:

this.db.list<Item>('some/db/path').valueChanges();
this.db.list<Item>('some/db/path').valueChanges();

上面的代码最初只下载一次数据,并且每次更改只下载一次delta。

请注意,您可以通过查看浏览器网络面板中的Web Socket流量来自行检查。

© www.soinside.com 2019 - 2024. All rights reserved.