什么时候使用 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");
        }
    }

为什么中招!因为它是仅在抛出异常时才显示的消息。