Kotlin中由流发出的并行处理值

科特琳码

runBlocking {
    flow {
        for (i in 0..4) {
            println("Emit $i")
            emit(i)
        }}  .onEach { if (it%2 == 0) delay(200) // Block 1
                println("A: got $it")
            }
            .onEach { println("B: got $it") } // Block 2
            .collect()
}

在控制台中打印:

Emit 0
A: got 0
B: got 0
Emit 1
A: got 1
B: got 1
Emit 2
...

在一半情况下,我如何同时对block1和block2进行并行处理,以从block 2之前获取来自block 2的消息?

wslw520 回答:Kotlin中由流发出的并行处理值

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2791104.html

大家都在问