1. 程式人生 > 其它 >非同步批量迴圈修改

非同步批量迴圈修改

非同步批量迴圈修改示例如下:

 public async Task<OutPutReturn<string>> CancelAppointmentadminAsync(CancelAppintment cancelmodel, string userid, string username)
        {
            OutPutReturn<string> rd = new OutPutReturn<string>();

            List<Task<Tuple<long, OutPutReturn<long
>>>> outPutReturns = new List<Task<Tuple<long, OutPutReturn<long>>>>(); foreach (var yyid in cancelmodel.yyids) { outPutReturns.Add(CancelAppointmentAsync(yyid, userid, username)); } var result = await
Task.WhenAll(outPutReturns); StringBuilder sb = new StringBuilder(); if (result.All(t => t.Item2.Ret == 1)) { sb.Append("全部取消成功"); } else { foreach (var item in result) {
if (item.Item2.Ret != 1) { sb.AppendLine($"[{item.Item1}]取消失敗:{item.Item2.GetErrorMsg()};"); } } } rd.Success(sb.ToString()); return rd; }