我是都市应用程序开发的新手,我请求您帮助我了解异步的用法并等待关键词,
据我所知,我知道我们同时等待并等待两者。
但是如果提到一个方法/函数为async: -
private async void Button_Click_1(object sender, RoutedEventArgs e)
{
Uri inputUri = new Uri("http://examplewebservices");
try
{
string result = await httpClient.GetStringAsync(inputUri);
///
i have to do some operations on this string result here
///
}
catch (Exception ex)
{
}
}
1)会创建一个单独的线程会发生什么?并且内部的所有内容都是异步运行的?
2)await关键字在这里做什么?
3)如果它是异步的,那么在代码中我需要对字符串结果执行一些操作,如果没有完成它会显示错误吗?
请指导我。
先谢谢。
答案 0 :(得分:4)
请阅读我的async
/await
intro。
1)会创建一个单独的线程会发生什么?并且内部的所有内容都是异步运行的?
没有。 async
方法是同步的,直到它们await
未完成的操作。
2)await关键字会在这里做什么?
它会异步等待操作完成。
在这种情况下,它将返回到消息循环并在下载完成后安排该方法的其余部分(在UI线程上)运行。
3)如果它是异步的,那么在代码中我需要对字符串结果执行一些操作,如果没有完成它会显示错误吗?
没有。由于await
,该方法的其余部分将在下载完成后才会运行。