【问题标题】:Running multiple Task as async using WhenAll()?使用 WhenAll() 异步运行多个任务?
【发布时间】:2023-01-10 02:33:46
【问题描述】:

我正在尝试使用异步运行多个任务,但是当执行到达 WhenAll() 它不会超过该行:

    List<Task> tasks = new();
    
    tasks.Add(Task.Run( async () => viewModel.Customers = await CustomerService.GetAllAsync()));
    tasks.Add(Task.Run( async () => viewModel.Orders = await OrderService.GetAllAsync()));
    
    await Task.WhenAll(tasks.ToArray());

【问题讨论】:

  • 您是说该任务永远不会完成吗?

标签: c# asynchronous task


【解决方案1】:

当执行到达 WhenAll() 它不会越过那条线:

因为您使用 Task.WhenAll await 请求该代码“等待”,直到所有任务完成后再移过该行。

【讨论】:

    猜你喜欢
    • 2011-04-15
    • 1970-01-01
    • 1970-01-01
    • 2020-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-23
    相关资源
    最近更新 更多