Как загрузить данные из Firebase? - PullRequest
0 голосов
/ 12 октября 2018

Я пытаюсь получить некоторые данные из базы данных Firebase.Я был в состоянии сделать это хорошо в прошлом, но что-то не так с моим кодом GetValueAsync () ниже.При отладке он застревает в строке «await reference.Database», но я не уверен, что делаю неправильно.При работе без отладки никакая информация никогда не получается.

Я не уверен, что проблема в пути или в функции await / async.Отладка показывает, что loggedUserId хранит значение перед ссылкой на него в следующей строке, но остальная часть функции никогда не завершается и не завершается с ошибкой.Приложение компилируется, но я никогда не смогу захватить какую-либо информацию из снимка.

Формат моей базы данных: «пользователи» -> 78cVqzA8qNTNigsao3VvdnM0Qol2 (что правильно) -> (несколько пар данных, например уровень:1, жизни: 3 и т. Д.)

public static async void GetUserData()
{
    FirebaseApp app = FirebaseApp.DefaultInstance;
    app.SetEditorDatabaseUrl("https://narwhaltrivia.firebaseio.com/");
    if (app.Options.DatabaseUrl != null) app.SetEditorDatabaseUrl(app.Options.DatabaseUrl);

    DatabaseReference reference = Firebase.Database.FirebaseDatabase.DefaultInstance.RootReference;
    loggedUserId = FirebaseAuth.DefaultInstance.CurrentUser.UserId;

    await reference.Database.GetReference("users").Child(loggedUserId).GetValueAsync().ContinueWith(task =>
    {
        if (task.IsFaulted)
        {
            Debug.LogError("Error retrieving user data");
            return;
        }
        if (task.IsCompleted)
        {
            DataSnapshot userSnapshot = task.Result;
            loggedEmail = userSnapshot.Child("email").GetRawJsonValue();
            loggedCurrentScore = userSnapshot.Child("currentScore").GetRawJsonValue();
            loggedLevel = userSnapshot.Child("level").GetRawJsonValue();
            loggedLives = userSnapshot.Child("lives").GetRawJsonValue();
            loggedRound = userSnapshot.Child("round").GetRawJsonValue();
            loggedTotalScore = userSnapshot.Child("totalScore").GetRawJsonValue();
            return;
        }
    });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...