在kotlinx.corutinue中如何重用两次接收通道?

时间:2018-12-14 05:38:52

标签: kotlin stream channel kotlinx.coroutines

例如,我有以下代码:

val produce = produce {
        repeat(5) {
            send(it)
        }
 }

 produce.map { "first $it" }.consumeEach { println(it) }
 produce.map { "second $it" }.consumeEach { println(it) }

我想将一个ReceiveChannel映射到两个通道并分别处理,将生产流映射到两个流。

如何更改代码以使其正常工作并输出:

first 0
second 0
first 1
second 1
first 2
second 2
first 3
second 3
first 4
second 4

不仅处理第一个通道,而且消耗和处置源通道。

0 个答案:

没有答案