如何等到一行代码完成后再在Unity中开始下一行?

时间:2018-10-10 16:29:13

标签: c# unity3d

我需要执行这两行代码。

 reference.Child("users").Child(userId).SetRawJsonValueAsync(json);
 reference.Child("users").Child(userId).SetValueAsync(email);

它会更新到Firebase数据库,并在同时添加多个条目时产生写冲突。我知道Async在第一次更新时自然会执行代码行,但是我不知道有任何类似的命令来代替它。

Firebase文档中有使用字典对象和事务的示例,但是我还没有使用这些方法成功写入数据库,而且由于我是编程的新手,我花了一个星期的时间来弄清正确的语法。有人可以帮我解决问题吗?

2 个答案:

答案 0 :(得分:3)

您可以这样尝试:

 await reference.Child("users").Child(userId).SetRawJsonValueAsync(json);
 await reference.Child("users").Child(userId).SetValueAsync(email);

键是异步方法前的等待

答案 1 :(得分:1)

就像乔纳森·蔡斯(Jonathon Chase)所说,您必须执行以下操作:

public async Task MyMethod()
{
    await reference.Child("users").Child(userId).SetRawJsonValueAsync(json);
    await reference.Child("users").Child(userId).SetValueAsync(email);
}