2

我希望我Task在执行其他操作之前完成。如果我使用

Task.WaitAll(task);

它肯定会阻塞我的 UI 线程。什么是异步等待 aTask完成而不使用的最佳方法async / await(我使用的是 .NET v4.0)?

4

1 回答 1

7

async / await将.NET 4.0 添加Microsoft.Bcl.Async NuGet package到项目时也可以使用。除此之外,您没有太多选择 - 要么使用异步调用,要么使用您已经提到的方法阻塞线程。

await但是,当使用异步方法时,您不受约束。您还可以使用回调:

task.ContinueWith(r => {
    /* code */
});
于 2013-10-01T12:38:13.120 回答