在 ForEach 循环中使用异步编程可能会带来一些挑战。让我们检查一下问题并探索解决方案。
在您的代码中,当尝试在 ForEach 委托中使用 async 关键字时,您可能会遇到错误:“名称‘Async’在当前上下文中不存在."
这样做的原因是 List
要解决此问题,我们可以利用更合适的方法来利用任务的异步特性:
using (DataContext db = new DataLayer.DataContext()) { var tasks = db.Groups.ToList().Select(i => GetAdminsFromGroupAsync(i.Gid)); var results = await Task.WhenAll(tasks); }
这这种方法有几个优点:
以上是如何在ForEach循环中正确执行异步任务?的详细内容。更多信息请关注PHP中文网其他相关文章!