.NET 6 Async Task 中多个 await 获取结果方法
可以使用'Task.WhenAll'方法将多个'Task'对象组合成一个新的'Task'对象,并在所有'Task'对象都完成时返回。然后可以使用'await'关键字等待这个新的'Task'对象,以获取前面'await'的执行结果。
以下是一个示例代码:
async Task Main()
{
Task<int> task1 = Task.Delay(1000).ContinueWith(_ => 1);
Task<int> task2 = Task.Delay(2000).ContinueWith(_ => 2);
Task<int> task3 = Task.Delay(3000).ContinueWith(_ => 3);
await Task.WhenAll(task1, task2, task3);
int result1 = await task1;
int result2 = await task2;
int result3 = await task3;
Console.WriteLine($'Result 1: {result1}');
Console.WriteLine($'Result 2: {result2}');
Console.WriteLine($'Result 3: {result3}');
}
在上面的示例中,我们创建了三个'Task
请注意,'Task.WhenAll'方法返回的'Task'对象的结果是一个'Task<int[]>',它包含了每个原始'Task
在上面的示例中,我们分别将三个原始'Task
原文地址: https://www.cveoy.top/t/topic/qnHe 著作权归作者所有。请勿转载和采集!