原则上我们应该避免编写混合同步和异步的代码,这其中最大的问题就是很容易出现死锁。让我们来看下面的例子:
private void ButtonDelayBlock_Click(object sender, RoutedEventArgs e) { Delay100msAsync().Wait(); this.buttonDelayBlock.Content = "Done"; } private async Task Delay100msAsync() { await Task.Delay(100); }