Firestore с включенным постоянством возвращает ID документов, которые не существуют - PullRequest
0 голосов
/ 10 января 2019

Я включил постоянство в своем проекте Firebase для Firestore.

Я получаю документы пользователя простым звонком.

this.afs
        .collection('users')
        .doc(user.uid)
        .collection("events").snapshotChanges().subscribe(...etc etc...)

Вышеуказанный вызов передается в Угловую таблицу DataSource

Возможно, вышесказанное не так важно, а просто убедиться.

В точку.

Список, который я получаю для коллекции events содержит элементы, которые могут быть удалены при включенном сохранении хранилища файлов.

Я перепроверил IDS, который дает постоянство, а некоторые не существуют в онлайн-БД.

Я не уверен, почему / как это произошло, но я немного запутался в отношении:

  • Я что-то не так делаю?

  • Должен ли я сделать другой звонок?

  • Это ошибка?

1 Ответ

0 голосов
/ 10 января 2019

Когда вы присоединяете слушателя к snapshotChanges(), он сразу же запрашивает локальный кеш и удовлетворяет запрос из этого. Затем он подключается к серверу, чтобы проверить наличие обновлений. Если есть какие-либо обновления, он будет запускать snapshotChanges() снова с обновленным снимком (и обновлять локальный кеш из этого).

Так что действительно возможно, что вы получите устаревшие данные в первом обратном вызове для snapshotChanges().

Но обычно вы просто обновляете свой пользовательский интерфейс с snapshotChanges(), и поэтому вы снова обновляете пользовательский интерфейс, как только поступают вторые (актуальные) данные.

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