如何在for循环中启动10个协程并等待它们全部完成?

2024-03-25

我需要填写数据库中的对象列表。在将值传递给项目之前,我希望所有项目都完成。这里是否有任何调用await()让每个项目等待的简短方法。我想编写干净的代码,可能是一些设计模式或技巧?

    for (x in 0..10) {
        launch {
            withContext(Dispatchers.IO){
                list.add(repository.getLastGame(x) ?: MutableLiveData<Task>(Task(cabinId = x)))
            }

        }

    }
    items.value = list

coroutineScope { // limits the scope of concurrency
    (0..10).map { // is a shorter way to write IntRange(0, 10)
        async(Dispatchers.IO) { // async means "concurrently", context goes here
            list.add(repository.getLastGame(x) ?: MutableLiveData<Task>(Task(cabinId = x)))
        }
    }.awaitAll() // waits all of them
} // if any task crashes -- this scope ends with exception
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在for循环中启动10个协程并等待它们全部完成? 的相关文章

  • 销毁Android应用程序

    我开发了一个运行良好的应用程序 我使用了一些静态变量并设置了应用程序级别变量 我的问题是 即使在每个活动上设置 finish 之后 应用程序仍显示在运行模式下 关闭应用程序后 当我在一段时间后启动应用程序时 它将设置最后的更改 我怎样才能销
  • AlarmManager setInexactRepeating、setWindow、setRepeating 方法在工作日内循环调用时不会触发警报

    要求 我需要在一周中选定的几天以及警报开始的日期发出警报 例如 我想从 2017 年 5 月 26 日开始 在每周的周五和周六下午 6 45 发出警报 问题 广播接收器onReceive AlarmManager 时方法不执行setInex
  • Cordova 插件包括 Android 库 (Gradle)

    我想包括这个 Androidlibrary https github com 50ButtonsEach fliclib android在 Cordova 插件中 该库本身由 Gradle 管理 如 Github 链接所示 图书馆的开发者只
  • 无法解析符号“AndroidJUnit4”

    显然我需要正确的导入语句来解决这个问题 根据文档用于AndroidJUnit4 http developer android com reference android support test runner AndroidJUnit4 h
  • 在旧版本的 API 上更改 ContentObserver Onchange 上的 uri [重复]

    这个问题在这里已经有答案了 可能的重复 如何获取内容观察器中插入行的 URI https stackoverflow com questions 8432800 how to get uri of inserted row in my co
  • 如何让Service即使被系统杀死也无法删除?

    我正在创建一个蓝光过滤器应用程序 因此 我想显示所有应用程序的视图 我通过以下服务做到了 public class OverlayService extends Service public OverlayService View mVie
  • 更改 Android Spinner 布局/设计

    我正在尝试修改设计Spinner http developer android com intl de reference android widget Spinner html小部件 我可以更改背景 但找不到更改右侧箭头图标的方法 有办法
  • 指标元素之间的空间

    如何增加 减少指标元素之间的空间ViewPagerIndicator 我用过CirclePageIndicator 我能够通过以下步骤在两个指标之间留出更多空间 打开源代码CirclePageIndicator并找到变量mRadius 在第
  • Android 构建签名 APK 时出错:找不到用于签名配置“externalOverride”的 keystore.jks

    当我尝试构建签名 APK 时出现此错误 我最近升级到 API 23 但之后成功生成了 APK s 我很困惑 寻求帮助并建议如何解决这个问题 这是错误 FAILURE Build failed with an exception What w
  • Android:从 https url 获取响应

    问候 我正在开发一个 Android 应用程序 需要通过 https 打开一个 url 带有 POST 参数 并获取响应 我有一个自签名证书 这让情况更加复杂 我还需要接受cookies 有人知道从哪里开始吗 提前谢谢了 Android 附
  • 如何创建 Google Play 音乐的直接链接?

    据我所知 应用程序的直接链接是 gt market apps collection
  • 方法不必要地被调用?

    我有一个 BaseActivity 它可以通过其他所有活动进行扩展 问题是 每当用户离开 暂停 活动时 我都会将音乐静音 我也不再接听电话 问题是 onPause每当用户在活动之间切换时就会被调用 这意味着应用程序不必要地静音和停止tele
  • 拦截来自外部应用程序的意图

    假设我想开发一个以某种方式扩展的应用程序 让我说 合作 非常受欢迎的应用程序我显然无法控制 为了简单起见 我们还假设非常著名的应用程序作者不会发布更新来阻止我的应用程序 我研究了该应用程序的功能并发现它广泛使用BroadcastReceiv
  • Android Mockito.verify 说参数不同!打印相同内容

    情况 我有一个界面Tracker其中有这个方法 fun trackEvent event String args Bundle null 我想验证是否使用特定的调用此方法event 被测试的内部对象调用此方法Bundle目的 所有事件都指定
  • Android - 从服务器获取响应时验证 JSON 以避免 JSONException

    在我的一些与服务器通信并使用 http 获取响应的应用程序中 我使用 json 来格式化数据服务器端 当它到达设备时 我使用类似于我在 stackoverflow 上找到的代码 private class LoadData extends
  • ProGuard 与 Android:java.lang.NoSuchMethodError:android.util.Xml.asAttributeSet

    当 ProGuard 被禁用时 我的应用程序运行正常 启用ProGuard后 应用程序将导出为apk并安装到模拟器中 然后当我在模拟器中运行它时 强制关闭 05 10 11 14 10 582 E AndroidRuntime 759 FA
  • Kotlin 中是否有类似于 #region #endregion 的语法?

    我知道我可以使用 region endregion 包围 C 中的代码片段 Kotlin 中是否有类似的语法 谢谢 region MyRegion protected void Page Load object sender EventAr
  • Android同步onSensorChanged?

    这是我的问题的后续 Android线程可运行性能 https stackoverflow com questions 36395440 android thread runnable performance 我在理解应用程序的同步方法时遇到
  • 如何自动更新Android Studio?

    我需要将 Android Studio 更新到 0 9 9 版本 但是当我按 下载 在更新信息对话框上 时 它会将我发送到此处 http developer android com sdk index html http developer
  • ActionBar 中的进度条

    我正在使用一个应用程序 它将在应用程序内部加载一个网站 现在我想在操作栏中添加一个进度栏 而无需向上滑动来抑制功能 像那样 我在用Fragment在我的应用程序中 WebviewFragment public class WebviewFr

随机推荐

  • 什么会导致 php 的 strtotime 对 2099 年的日期不起作用?

    我有三台服务器 在所有三台服务器上执行以下操作 echo strtotime 2099 12 31 echo strtotime date Y m d gets me 服务器 1 php 5 3 8 64位 4102376400 13284
  • Swift:将视图从堆栈视图带到前面

    我得到了一个堆栈视图 其中包含以下视图 1 2 3 4 和 5 寻找一种方法将 Image View4 从 Stack 视图中的 view4 移至所有其他视图之上 我需要这个的原因是因为我将 Image View4 移动到 view3 中的
  • 如何在拖动过程中修复 jQuery UI 对话框的大小?

    这是一个简单的对话框 如下代码所示 每当拖动对话框时 其高度就会减小 当我设置对话框的 ressized false 时 它 的高度值甚至会改变 最后我通过在 DragStop 事件处理程序中重新更新对话框高度来修复它 我发现有人报告了类似
  • 如何确定当前 Mono 运行时的构建和安装版本?

    我想确定当前 Mono 运行时的构建和安装版本 如何在 Git 中正确调用它 dmcs version Mono C compiler version 2 9 0 0 但这绝对是不够的 XSP ASP NET 错误页面提供了更多信息 版本信
  • PIP 安装 Numpy 抛出错误“ascii 编解码器无法解码字节 0xe2”

    我在一台新构建的计算机上新安装了 Ubuntu 我刚刚使用 apt get 安装了 python pip 现在 当我尝试 pip install Numpy 和 Pandas 时 出现以下错误 我在 SO 和 Google 上的很多地方都看
  • 如何导入其他 TypeScript 文件?

    使用 vs net 的 TypeScript 插件时 如何使一个 TypeScript 文件导入其他 TypeScript 文件中声明的模块 file 1 module moo export class foo file 2 what go
  • create-react-app --template typescript — 是否可以暂时禁用类型检查?

    我正在使用 TypeScript 开发一个 create react app 它会在我的前端文件夹中自动生成一个 tsconfig include src 每次运行应用程序时 即使我删除或更改文件 有没有办法禁用 TS cra 中的类型检查
  • 如何在 C# 中检查一个日期时间是否大于另一个

    我有两个DateTime对象 StartDate and EndDate 我想确定一下StartDate是在之前EndDate 这在 C 中是如何完成的 if StartDate lt EndDate code 如果您只想要日期而不是时间
  • 继承、组合和默认方法

    人们通常承认 通过继承来扩展接口的实现并不是最佳实践 而组合 例如 从头开始再次实现接口 更易于维护 这是有效的 因为接口契约强制用户实现所有所需的功能 然而 在 java 8 中 默认方法提供了一些可以 手动 覆盖的默认行为 考虑下面的例
  • C# - 将“对象”参数转换为该对象的类型?

    C Hi all 我将一个对象传递给一个方法 我想将该对象转换为它的特定类 以便我可以执行它自己的特定方法 我怎样才能做到这一点 Move new Cat Move new Pigeon public void Move object ob
  • 当满足条件时如何退出迭代循环?

    我想迭代一个函数g with iterate 当我运行代码时 循环无限运行 当条件满足时是否有可能跳出循环 就像是if g x gt 100 then stop My code f x iterate g x g x 2 x 只要翻转条件
  • 代码契约:确保未经验证并需要未经验证

    我不确定我是否在这里做错了什么或者是否需要修复 我有一个自定义的 Dictionary 包装类 这是必要的代码片段 public int Count get Contract Ensures Contract Result
  • 最后一页底部流程正文中的最后一个块

    我怎样才能拥有最后的fo block in fo flow正文与最后一页的底部对齐吗 我并不是指每个页面上的页脚部分 没关系 但我希望流程主体中的最后一个块位于最后一页的底部 流体的内容多种多样 我不知道最后一个块部分的高度是多少 有可能以
  • 如何使表格中的文本向左溢出?

    我有一张固定布局的桌子 溢出时 单元格的内容应从左侧而不是右侧剪切 也就是说 如果 TD 的宽度小于文本的宽度 则下面的单元格应显示 67890 而不是 12345 这至少需要在 IE7 中运行 有没有办法在 css 中做到这一点而不需要任
  • Android 中的内存缓存 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在尝试将一个视频存储在内存缓存中
  • 通用图像加载器:内存不足错误

    我正在使用universal image loader 1 6 2 jar 最新的 我正在尝试使用此库下载并缓存该图像 我有 47 张图像要从服务器下载 总共 5 22 Mb 我的最大图像尺寸为 720X480 大小约为 143kb 一切顺
  • 如何使用 webpack 访问全局对象(窗口)?

    我正在尝试使用 JavaScript 将 ActionScript 与 JavaScript 连接起来ExternalInterface和网络包 ExternalInterface只能挑起 call 在全局对象 window 我如何获得 w
  • Firebase 可以与 Swift 框架项目一起使用吗?

    我采取了以下步骤 创建一个全新的快速单视图应用程序 添加一个表示对 Firebase 的依赖关系的 pod 文件 安装 Pod 打开生成的工作区并为模拟器构建 构建成功 然后我重复了这些步骤 除了在步骤 1 中我创建了一个全新的 swift
  • Minio:如何获得正确的链接以在html上显示图像

    我需要从 Minio 存储桶获取图像 但无法显示该图像 我发现问题出在链接上 即使用浏览器也无法打开它 所以 问题来了 GET 净 ERR CONNECTION REFUSED 我用于上传该文件的代码 包主 import context l
  • 如何在for循环中启动10个协程并等待它们全部完成?

    我需要填写数据库中的对象列表 在将值传递给项目之前 我希望所有项目都完成 这里是否有任何调用await 让每个项目等待的简短方法 我想编写干净的代码 可能是一些设计模式或技巧 for x in 0 10 launch withContext