这是我创建的异步函数,这里得到错误,而claaing这个函数在按钮点击。
public async Task<bool> Login(string UserName, string Password)
{
try
{
ParseUser User = await ParseUser.LogInAsync(UserName, Password);
System.Windows.Forms.MessageBox.Show(User.ObjectId);
var currentUser = ParseUser.CurrentUser;
return true;
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);
return false;
}
}
调用时出错。
private void btnLogin_Click(object sender, EventArgs e)
{
if (Login(txtUserName.Text,txtPassword.Text))
{
MessageBox.Show("Login Success");
}
}
3条答案
按热度按时间insrf1ej1#
你需要像这样异步等待
Login
方法:现在,这个事件处理程序是异步的(通过使用
async
关键字),它异步地等待Login
方法(通过使用await
关键字)。请注意,通常不建议使用
async void
方法。但是,此规则的一个例外是事件处理程序。所以这个代码很好。f4t66c6m2#
需要异步等待方法,如下所示:
i34xakig3#
从sync方法调用async方法: