我希望在执行其他操作之前完成Task
。如果我使用
Task.WaitAll(task);
它肯定会阻止我的UI线程。在不使用Task
(我正在使用.NET v4.0)的情况下异步等待async / await
完成的最佳方法是什么?
答案 0 :(得分:7)
将async / await
添加到项目中时,也可以在.NET 4.0中使用Microsoft.Bcl.Async NuGet package
。除此之外,您没有太多选择 - 要么使用异步调用,要么使用您提到的方法阻止您的线程。
但是,在使用异步方法时,您不必绑定await
。您也可以使用回调:
task.ContinueWith(r => {
/* code */
});