Проверка пожарной безопасности Flutter, если документ уже существует - PullRequest
0 голосов
/ 11 апреля 2019

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,

После этого он снова позвонил:

-Возврат,

-Конец

Но без Готово.

Можете ли вы сказать мне, почему он звонил дважды?Как это предотвратить?Или есть другие способы проверить, существует ли уже документ?

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