我正在尝试这个异步代码只是为了测试 async 关键字:
public async Task<string> AsyncMethod()
{
var link = "http://www.google.com";
var webclient = new WebClient();
var result = await webclient.DownloadStringTaskAsync(new Uri(link));
return result;
}
public async Task<ActionResult> Index()
{
var a = AsyncMethod();
var b = AsyncMethod();
Task.WaitAll(a, b);
return View();
}
但是当我调试它时,调试器会点击Task.WaitAll
并且什么都不做(返回键永远不会执行)..如果我在两个'AsyncMethod'之前设置等待并删除Task.WaitAll
它就可以了..那么我做错了什么?