如何将生产者连接到演员?

How can I connect a Producer to an Actor?

如何连接使用 produce coroutine builder, to an actor, created with the actor 协程构建器创建的生产者?

基本上,我希望 producer 的发送通道成为 actor 的接收通道。有简单的方法吗?

我在文档中找不到任何允许我明确指定制作人或演员要使用的频道的内容。

假设以下定义:

val producer = produce<T> { ... }
val actor = actor<T> { ... }

您可以编写以下代码来启动一个辅助协程,将所有生成的消息发送给您的参与者:

launch { producer.toChannel(actor) }

如果你想等到这个复制工作完成,你可以简单地使用 producer.toChannel(actor) 作为你的协程。 toChannel是终端操作,等待处理完成。