Windows Phone 8.1。异步方法有效,但不 return 结果
Windows Phone 8.1. Async Methods works, but don't return the result
我在 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 时,我看到它运行良好并且 returns 一个值。但是我没有收到 ButtonBase_OnClick.
中的值
我该如何解决这个问题?
在您展示的代码中,您实际上并没有使用结果。 schedule
是一个未使用的变量。由于编译器可以证明该值永远无法读取,因此它不会首先创建变量。
当您实际使用值时,您将能够看到方法调用的结果。
我在 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 时,我看到它运行良好并且 returns 一个值。但是我没有收到 ButtonBase_OnClick.
中的值我该如何解决这个问题?
在您展示的代码中,您实际上并没有使用结果。 schedule
是一个未使用的变量。由于编译器可以证明该值永远无法读取,因此它不会首先创建变量。
当您实际使用值时,您将能够看到方法调用的结果。