我有一个 Page_Loaded
在一个UWP应用程序(Microsoft.NETCore.UniversalWindowsPlatform v6.2.10)中的事件。我把它做成了 async void
所以我可以调用异步方法。
private async void Page_Loaded(object sender, RoutedEventArgs e)
我试图在上面的事件中做到这一点
Task s1 = something.MyMethodAsync();
Task s2 = something.MyOtherMethodAsync();
await Task.WaitAll(s1, s2);
但越来越 等不及 错误。
如果我把它重新写成这样就可以了,但是我失去了异步调用的一些好处。
await something.MyMethodAsync();
await something.MyOtherMethodAsync();
为什么是 WaitAll
不工作?
Task.WaitAll 是一个阻断呼叫.你想 任务.WhenAll.
await Task.WhenAll(t1, t2);