Загружает ли веб-клиент firebase данные каждый раз, когда я подписываюсь на определенный путь к базе данных? - PullRequest
0 голосов
/ 04 сентября 2018

В своем угловом приложении я использую AngularFire для доступа к базе данных Firebase в реальном времени.

У меня есть следующий метод для получения сущностей в определенном пути к базе данных.

private db: AngularFireDatabase;

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

Если я вызываю вышеупомянутый метод несколько раз, загружаются ли данные несколько раз с сервера, или клиент Firebase использует локальный кэш второй раз?

Если данные загружаются несколько раз, могу ли я указать клиенту firebase использовать локальное кэширование?

1 Ответ

0 голосов
/ 04 сентября 2018

Клиент базы данных Firebase Realtime дедуплицирует слушателей. Это означает, что:

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

Приведенный выше код сначала загружает данные только один раз, а дельта загружает только один раз для каждого изменения.

Обратите внимание, что вы можете проверить это самостоятельно, посмотрев трафик веб-сокета на сетевой панели вашего браузера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...