作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
目前,在我的 Kotlin 代码中,我有一个用户数组,我执行一个 for 循环并对每个用户的信息发出 GET 请求,然后将他们的信息添加到 MutableList 中。每当有新的用户信息发布到该列表时,我都会观察该列表并更新我的 UI。
但我想知道如何同时执行所有用户调用并等待最终结果并一次性发布 UI?
最佳答案
您可以使用async
启动请求的语法,然后 awaitAll
对它们(请注意,一旦任何延迟失败,它就会立即失败)。
类似于:
val one = async { doSomethingUsefulOne() }
val two = async { doSomethingUsefulTwo() }
val result = awaitAll(one, two) // will give you a list of results
所以在你的情况下你可以 map
对用户启动异步
操作。
示例:https://kotlinexpertise.com/kotlin-coroutines-concurrency/
Roman Elisarov 关于结构化并发的博客:https://elizarov.medium.com/structured-concurrency-722d765aa952 (并行分解部分)
关于kotlin - 如何对同一端点并行进行多个 API 调用并将所有响应合并到输出数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66464708/
我是一名优秀的程序员,十分优秀!