以下代码将永远被冻结。
public async Task DoSomethingAsync()
{
await Task.Delay(2000);
}
private void Button_Click(object sender, RoutedEventArgs e)
{
DoSomethingAsync().Wait();
// Task.Delay(2000).Wait();
}
如果我用被注释掉的代码替换调用DoSomethingAsync
的代码,它会按预期工作。我怀疑嵌套的awaits在某种程度上导致了死锁,但我不确定原因,也不知道如何解决它。