Coroutines Flow で merge する

Jul 5, 2020 16:59 · 44 words · 1 minute read

Coroutines Flow を使ったときに RxJava の Single を merge するオペレーションと同じことをする処理を書いたメモです。

flow ビルダーの中でmergeしたいApiの flow を emit するだけです。

    fun main() {
        runBlocking {
            val api1 = flowOf(1)
            val api2 = flowOf(2)

            flow {
                emit(api1.single())
                emit(api2.single())
            }.collect {
                println(it) 
                // output
                // 1 
                // 2
            }
        }
    }