我正在编写一个网页,它调用了一些网络服务。这些调用看起来像这样:
var Data1 = await WebService1.Call();
var Data2 = await WebService2.Call();
var Data3 = await WebService3.Call();
在代码审查期间,有人建议我将其更改为:
var Task1 = WebService1.Call();
var Task2 = WebService2.Call();
var Task3 = WebService3.Call();
var Data1 = await Task1;
var Data2 = await Task2;
var Data3 = await Task3;
为什么?有什么区别吗?
await
实际上意味着“将下一个表达式评估为任务(通常是启动它),在该任务中添加一些继续执行当前方法的代码,然后停止当前上下文中的执行。如果你愿意,可以将其视为异步等待,但这是一个非常容易出问题的抽象概念。 - Servy