Выполнение чтения после завершения транзакции приводит к ошибке - PullRequest
0 голосов
/ 06 марта 2019

Я пытаюсь прочитать обновленные данные документа после выполнения транзакции с реф, и я получаю сообщение об ошибке

Транзакции Firestore требуют выполнения всех операций чтения до всех операций записи.

Я немного запутался, потому что я запускаю свои get s после разрешения выполнения транзакции. Может кто-нибудь помочь объяснить это или указать мне направление на получение обновленного объекта документа?

Ниже показано, как я пытаюсь вернуть новое значение:

return db.runTransaction(t => (
  t.get(meetingsRef).then(doc => (
    t.update(meetingsRef, { count: doc.data().count + 1})
  ))
)).then(t => t.get(meetingsRef).then(doc => doc.data()));

1 Ответ

0 голосов
/ 06 марта 2019

Обещание, возвращаемое транзакцией, выполняется после ее завершения.В этот момент вы больше не можете читать / записывать данные об объекте транзакции (ваш t).

Вероятно, вы хотите прочитать полученный документ непосредственно из meetingsRef.

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