考虑到这一点,
Task task = new Task (async () =>{
await TaskEx.Delay(1000);
});
task.Start();
task.Wait();
调用 task.Wait() 不会等待任务完成并立即执行下一行,但如果我将异步 lambda 表达式包装到方法调用中,代码将按预期工作。
private static async Task AwaitableMethod()
{
await TaskEx.Delay(1000);
}
然后(根据 svick 的评论更新)
await AwaitableMethod();