【发布时间】:2014-09-13 23:38:07
【问题描述】:
我在这里阅读更多关于异步的内容:http://msdn.microsoft.com/en-us/library/hh873173(v=vs.110).aspx
通过这个例子:
Task<bool> [] recommendations = …;
while(recommendations.Count > 0)
{
Task<bool> recommendation = await Task.WhenAny(recommendations);
try
{
if (await recommendation) BuyStock(symbol);
break;
}
catch(WebException exc)
{
recommendations.Remove(recommendation);
}
}
我想知道,如果我已经在 Task.WhenAny 上执行 await,为什么我需要在 try 块内再次 await?
如果我已经这样做了:Task<bool> recommendation = await Task.WhenAny(recommendations);
为什么这样做:if (await recommendation) BuyStock(symbol);
【问题讨论】:
标签: c# .net task-parallel-library async-await