Firestore вызывается дважды при транзакции.
Я создаю транзакцию firestore, чтобы проверить, существует ли документ или нет.
var collection = _firestore.collection('players').document(_userID);
print('Start');
_firestore.runTransaction((transaction) async{
DocumentSnapshot snapshot = await transaction.get(collection);
if(snapshot.exists){
print('Retrieve');
_retrieveCloud();
}else{
print('Save');
_saveToCloud();
}
print('End');
}).then((v){
print('Done');
});
Почему он вызывается дважды?В результате (если моментальный снимок существует в облаке):
-Запуск,
-Возврат,
-End,
-Done,
После этого он снова позвонил:
-Возврат,
-Конец
Но без Готово.
Можете ли вы сказать мне, почему он звонил дважды?Как это предотвратить?Или есть другие способы проверить, существует ли уже документ?