Будущее Firebase никогда не завершается - PullRequest
0 голосов
/ 04 августа 2020

Я использую Firebase C ++ SDK 6.15.1 на Windows 10. Я пытаюсь записать некоторые данные в свою базу данных реального времени с помощью SetValue. Однако будущее, возвращаемое SetValue, никогда не завершается, и данные не записываются. Странно то, что это происходит периодически - раньше он работал надежно, но после переключения моего рабочего места и обновления с 6.15.0 на 6.15.1 он работает только иногда. Посмотрев на консоль firebase, я вижу, что это не имеет ничего общего с разрешениями, потому что запросы не принимаются. Вот мой код

  database->set_log_level(firebase::kLogLevelDebug);
  firebase::database::DatabaseReference myRef =
      database->GetReference().Child("uids");
  std::string key = myRef.PushChild().key();
  auto future = myRef.Child(key).Child("uid").SetValue("waiting");
  future.OnCompletion([](const firebase::Future< void >& completed_future,
                       void* user_data) {
    if (completed_future.error() == 0) {
      LogMessage("FUTURE COMPLETED");
    }
    else {
      LogMessage("Error %d: %s",
               completed_future.error(),
               completed_future.error_message());
    }
  }, nullptr);
  ProcessEvents(5000);

Этот код ничего не печатает и не записывает никаких значений, что затрудняет отладку. Сначала я подумал, что это может быть мое соединение rnet, но похоже, что будущее вообще никогда не завершится.

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