Asp.net mvc5.异步等待.等待具有不同返回类型的任务

本文关键字:等待 返回类型 任务 net mvc5 异步 Asp | 更新日期: 2023-09-27 18:12:25

我刚开始使用。net mvc 5 async await。我有几个任务,我确定在运行时并行运行。它们都有不同的返回类型,我想使用任务。当所有人都在等待他们的时候。就像这个问题讨论的那样,但我没有预定义的任务集来运行。我需要在运行时创建具有不同返回类型的任务集合

Asp.net mvc5.异步等待.等待具有不同返回类型的任务

您可以创建一个List<Task>,然后使用Task.WhenAll:

var tasks = new List<Task>();
var task1 = Func1Async();
tasks.Add(task1);
var task2 = Func2Async();
tasks.Add(task2);
...
await Task.WhenAll(tasks);

注意,由于返回类型不同,您必须单独取出结果:

var result1 = await task1;
var result2 = await task2;