等待具有不同结果的多个任务

我有3个任务:

private async Task<Cat> FeedCat() {}

private async Task<House> SellHouse() {}

private async Task<Tesla> BuyCar() {}

它们都需要先运行,然后我的代码才能继续,并且我还需要它们的结果。没有结果有什么共同点

如何调用并等待3个任务完成然后获得结果?

回答:

使用完后WhenAll,您可以使用以下命令分别提取结果await

var catTask = FeedCat();

var houseTask = SellHouse();

var carTask = BuyCar();

await Task.WhenAll(catTask, houseTask, carTask);

var cat = await catTask;

var house = await houseTask;

var car = await carTask;

您也可以使用Task.Result(因为到目前为止,您已经知道它们都已成功完成)。但是,我建议使用,await因为它显然是正确的,而Result在其他情况下可能会引起问题。

以上是 等待具有不同结果的多个任务 的全部内容, 来源链接: utcz.com/qa/399052.html

回到顶部