这是在我从5.0.0更新到5.2.1之后开始发生的,但是在5.1.0上也发生了,在此之前就已经足够了:
if (task.Result.Exist){}
但是现在我要做:
if (task.Result != null && task.Result.Exist){}
由于某种原因task.Result可能为null,可以吗?
我用这段代码进行了测试:
DatabaseRoot.Child("users").Child(userId).GetValueAsync().ContinueWith((task) =>
{
if (task.IsFaulted)
{
Debug.LogError("Firebase task error: " + task.Exception.Message);
}
else if (task.IsCompleted)
{
Debug.Log("Task completed.");
try
{
Debug.Log("Result " + (task.Result == null));
Debug.Log("Result " + task.Result.Exists);
Debug.Log("Result " + task.Result.Value);
}
catch (Exception e)
{
Debug.Log(e.Message);
}
}
});
如果我返回5.0.0,效果很好(以前是这样),但是我需要较新版本中的一些补丁。