【发布时间】:2021-01-05 07:22:59
【问题描述】:
使用zip 或combine,如果我没有遗漏任何内容,则只能合并两个流,我看不到任何组合流列表或vararg 的公共方法。
例如
apiHelper.getUsers()
.zip(apiHelper.getMoreUsers()) { usersFromApi, moreUsersFromApi ->
val allUsersFromApi = mutableListOf<ApiUser>()
allUsersFromApi.addAll(usersFromApi)
allUsersFromApi.addAll(moreUsersFromApi)
return@zip allUsersFromApi
}
我需要来自 REST api 的前 5 个页面,并行获取它们并组合结果,进行一些映射,并对组合数据进行过滤。我可以将它们与flow 结合使用,还是应该通过 coroutineScope 并使用 async 来处理并行请求?
我检查了answer here,但它返回编译错误,并且似乎没有公开的以列表为参数的流组合函数。
【问题讨论】:
标签: android kotlin kotlin-coroutines