【发布时间】:2020-01-01 17:45:07
【问题描述】:
给定 2 个或更多具有相同类型的流,是否有现有的 Kotlin 协程函数来合并它们,例如 RX 合并运算符?
目前我正在考虑这个:
fun <T> merge(vararg flows: Flow<T>): Flow<T> = channelFlow {
val flowJobs = flows.map { flow ->
GlobalScope.launch { flow.collect { send(it) } }
}
flowJobs.joinAll()
}
但它似乎有些笨拙。
【问题讨论】: