不能在page_loaded事件中等待多个异步方法的调用[重复]。

问题描述 投票:0回答:1

我有一个 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 不工作?

c# uwp visual-studio-2019
1个回答
0
投票

Task.WaitAll 是一个阻断呼叫.你想 任务.WhenAll.

await Task.WhenAll(t1, t2);
© www.soinside.com 2019 - 2024. All rights reserved.