Async/Await在.NET 4.5中的简要说明

40 浏览
0 Comments

Async/Await在.NET 4.5中的简要说明

异步任务(异步/等待)在 .Net 4.5 中是如何工作的?

一些示例代码:

private async Task TestFunction()
{
  var x = await DoesSomethingExists();
  var y = await DoesSomethingElseExists();
  return y;
}

第二个 await 语句是立即执行还是在第一个 await 返回后执行?

admin 更改状态以发布 2023年5月21日
0
0 Comments

它在第一个等待返回后执行。如果这个东西让你困惑,试着玩一下断点——它们完全支持新的异步模式。

想象一下,它会像这样:

var x = await GetSomeObjectInstance();
var y = await GetSomeObjectInstance2(x);

可能会出现NullReferenceException错误,所以第一个等待必须先返回。否则,x将为null/undefined或其他任何值。

0
0 Comments

await暂停方法直到操作完成。 因此,第二个await将在第一个 await 返回后执行。

更多信息,请参见我的async/await简介 或官方的FAQ

0