如下所示,当我发送数据到数据库时,编辑器冻结了,原因是什么?为什么即使我异步运行代码也冻结了?
private IEnumerator SetCoinDB(int coinCount)
{
var DBTask = databaseReference.Child("users").Child(firebaseUser.UserId).Child("coins").SetValueAsync(coinCount + User.Instance.coin);
yield return new WaitUntil(predicate: () => DBTask.IsCompleted);
if(DBTask.Exception != null)
{
Debug.LogWarning("Coin update problem");
}
else
{
Debug.Log("Coins updated normally");
}
}
1条答案
按热度按时间qjp7pelc1#
这应有助于:https://firebase.blog/posts/2019/07/firebase-and-tasks-how-to-deal-with
使用Unity时,您必须小心不要锁定主线程,这在引入协同例程时很容易做到。