非同步批量迴圈修改
阿新 • • 發佈:2022-05-30
非同步批量迴圈修改示例如下:
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 = awaitTask.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; }