等待具有不同结果的多个任务
我有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