Bel*_*gor 2 kotlin rx-java retrofit kotlin-coroutines
目前在我的 Kotlin 代码中,我有一个用户数组,我执行一个 for 循环并对每个用户的信息发出 GET 请求,然后将他们的信息添加到 MutableList 中。每当有新的用户信息发布到列表中时,我都会观察该列表并更新我的用户界面。
但我想知道如何同时执行所有用户调用并等待最终结果并立即发布 UI?
您可以使用async语法来启动请求,然后再awaitAll处理它们(请注意,一旦任何延迟失败,它就会立即失败)。
就像是:
val one = async { doSomethingUsefulOne() }
val two = async { doSomethingUsefulTwo() }
val result = awaitAll(one, two) // will give you a list of results
Run Code Online (Sandbox Code Playgroud)
因此,在您的情况下,您可以map覆盖用户并开始async对他们进行操作。
示例: https: //kotlinexpertise.com/kotlin-coroutines-concurrency/
Roman Elisarov 关于结构化并发的博客:https://elizarov.medium.com/structured-concurrency-722d765aa952(关于并行分解的部分)
| 归档时间: |
|
| 查看次数: |
3469 次 |
| 最近记录: |