У меня проблема с записью Firebase, происходящей не по порядку.
У меня есть функция, которая записывает данные в документ.Объект мутирует состояние, затем вызывает функцию для записи состояния в Firebase.
function saveStateToFirebase(currentState: any): void{
admin.firestore().doc(`id`).set(currentState);
}
//... application calls these functions with calculated objects called state
saveStateToFirebase(state0);
saveStateToFirebase(state1);
Данные документа должны быть установлены на state1 , однако иногда существует вероятность (из-за условий сетевой гонки, я полагаю), что данные документа установлены на state0 .
Как решить эту проблему, когда более ранняя запись перезаписывает более позднюю запись?Есть ли элегантное решение с RxJS?Я прочитал документацию по транзакциям Firestore и не уверен, применимо ли это здесь.Потому что я не обновляю поле в базе данных одновременно на основе предыдущего поля.Я забочусь только о последнем текущем состоянии моего программного обеспечения.