C#.NET 4,如何将任务完成结果传递给另一种方法?

时间:2018-11-10 10:09:23

标签: c# .net asynchronous firebase-realtime-database callback

我正在使用C#将Google Firebase集成到Unity Game Engine中。

这是我的代码:

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 :(得分:0)

好的,这很奇怪,但是我注意到,如果我从结果中手动创建字典而不是使用"ToDictionary()"会触发回调方法。

希望如果您遇到同样的问题,它可以节省您的时间。