正在设置异步任务
本文关键字:任务 异步 设置 | 更新日期: 2023-09-27 18:26:41
有人会为我指明正确的方向设置异步任务吗?我有一个带有以下任务的InitializeDatabases方法:
Task.Run(async () =>
{
await NContext.ZSA_TransactionHeader.LoadAsync();
await NContext.ZSA_TransactionDetail.LoadAsync();
await DContext.AR_MasterTable.LoadAsync();
await DContext.IN_Master.LoadAsync();
await DContext.SA_HistoryHeader.LoadAsync();
await DContext.SA_HistoryDetail.LoadAsync();
await DContext.SA_NonInvCode.LoadAsync();
await DContext.SA_SalespCode.LoadAsync();
}).Wait();
我的问题是,即使任务还没有完成加载,它也会继续执行。我需要它等待所有.LoadAsync任务完成。我还希望所有LoadAsync任务同时运行。我从其他SO问题中收集了这么多,但我觉得我对此感到不知所措。
通过await
调用每个调用,您将等待每个调用完成,然后再开始下一个调用。
通过在最后调用.Wait()
,您已经冻结了UI。
您需要await Task.WhenAll(x.LoadAsync(), y.LoadAsync(), ...)
。