C # .NET 4, как передать результат выполнения задачи другому методу? - PullRequest
0 голосов
/ 10 ноября 2018

Я интегрирую Google Firebase в Unity Game Engine, используя C #.

Вот мой код:

FirebaseApp.DefaultInstance.SetEditorDatabaseUrl(databaseUrl);
var firebaseDatabase = FirebaseDatabase.DefaultInstance;

firebaseDatabase.GetReference("SomePath").GetValueAsync().ContinueWith(task =>{
    HandleCallback(task.Result.ToDictionary());
});

void HandleCallback(dictionary<string,object> dic)
{
    Debug.Log(dic.Keys.Count);
}

Мне нужно как-то передать результат другому методу для обработки завершения. Я не могу заставить это работать.

здесь нет ошибок, журнал просто пуст.

Однако, если я вызову Debug.Log(dic.Keys.Count) внутри Задачи, это сработает.

Надеюсь научиться и сделать эту работу. Спасибо.

1 Ответ

0 голосов
/ 10 ноября 2018

Хорошо, это странно, но я заметил, что если я вручную создаю словарь из результата вместо использования "ToDictionary()", вызывается метод обратного вызова.

Надеюсь, это сэкономит ваше время, если у вас возникла такая же проблема.

...