什么时候使用 await 关键字?在这种情况下我需要它吗?
when to use await key word? do I need it in this case?
我在按钮上有一个 onClick 方法。按下此按钮时,我收到 displayalert
消息。
getToken 有一个值。我的问题是为什么它会进入 catch
块?
private async void Button_Clicked(object sender, EventArgs e)
{
try
{
var getTokenQ = await SecureStorage.GetAsync("Save_Security_Question");
if ((String.IsNullOrWhiteSpace(getTokenQ) == false))
{
}
else
{
}
}
catch (Exception ex)
{
await DisplayAlert("Message", "Some thing went wrong. Please try different method", "ok");
}
}
不,您不需要这样做,如果您不想异步执行代码,可以使用 .Result,这段代码非常好:
private void Button_Clicked(object sender, EventArgs e)
{
try
{
var getTokenQ = SecureStorage.GetAsync("Save_Security_Question").Result;
if ((String.IsNullOrWhiteSpace(getTokenQ) == false))
{
}
else
{
}
}
catch (Exception ex)
{
DisplayAlert("Message", "Some thing went wrong. Please try different method", "ok");
}
}
为什么中招!因为它是仅在抛出异常时才显示的消息。
我在按钮上有一个 onClick 方法。按下此按钮时,我收到 displayalert
消息。
getToken 有一个值。我的问题是为什么它会进入 catch
块?
private async void Button_Clicked(object sender, EventArgs e)
{
try
{
var getTokenQ = await SecureStorage.GetAsync("Save_Security_Question");
if ((String.IsNullOrWhiteSpace(getTokenQ) == false))
{
}
else
{
}
}
catch (Exception ex)
{
await DisplayAlert("Message", "Some thing went wrong. Please try different method", "ok");
}
}
不,您不需要这样做,如果您不想异步执行代码,可以使用 .Result,这段代码非常好:
private void Button_Clicked(object sender, EventArgs e)
{
try
{
var getTokenQ = SecureStorage.GetAsync("Save_Security_Question").Result;
if ((String.IsNullOrWhiteSpace(getTokenQ) == false))
{
}
else
{
}
}
catch (Exception ex)
{
DisplayAlert("Message", "Some thing went wrong. Please try different method", "ok");
}
}
为什么中招!因为它是仅在抛出异常时才显示的消息。