异步批量循环修改示例如下:

 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;

        }

 

posted on 2022-05-30 17:41  叶子牛牛  阅读(49)  评论(0)    收藏  举报