Awaiting multiple Tasks with different results

后端 未结 10 1507
醉话见心
醉话见心 2020-11-22 12:59

I have 3 tasks:

private async Task FeedCat() {}
private async Task SellHouse() {}
private async Task BuyCar() {}
         


        
10条回答
  •  借酒劲吻你
    2020-11-22 13:35

    After you use WhenAll, you can pull the results out individually with 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;
    

    You can also use Task.Result (since you know by this point they have all completed successfully). However, I recommend using await because it's clearly correct, while Result can cause problems in other scenarios.

提交回复
热议问题