Windows Phone 8.1.异步方法有效,但不返回结果

本文关键字:返回 结果 有效 Phone 异步方法 Windows | 更新日期: 2023-09-27 18:36:52

我在Windows Phone 8.1的C#应用程序中遇到async/await方法的小问题

我正在创建一个简单的应用程序,用于从我的服务中获取数据并将其保存在用户设备上。

我有这个代码:

public static class ScheduleParser
{
    public static async Task<string> GetSchedule(string groupNumber)
    {
        string siteAddress = "site.com";
        siteAddress = string.Format(siteAddress, groupNumber);
        var client = new HttpClient();
        var response = await client.GetStringAsync(siteAddress);
        return response;
    }
  ...
  }

我以这种方式使用它:

  private async void  ButtonBase_OnClick(object sender, RoutedEventArgs e)
    {
       var schedule = await ScheduleParser.GetSchedule("1111111");
    }

我在真实设备上调试我的应用程序。当调用 GetSchedule 时,我看到它运行良好并返回一个值。但我没有收到ButtonBase_OnClick值。

我该如何解决这个问题?

Windows Phone 8.1.异步方法有效,但不返回结果

在您展示的代码中,您实际上并没有使用结果。 schedule是一个未使用的变量。 由于编译器可以证明该值永远无法读取,因此它首先不会费心创建变量。

实际使用该值时,您将能够看到方法调用的结果。