如何将使用produce
协同程序构建器创建的生产者连接到使用actor
协同程序构建器创建的actor?
基本上,我希望producer
的发送频道成为actor
的接收频道。有没有一种简单的方法可以做到这一点?
我在文档中找不到任何内容,允许我明确指定制作人或演员使用的频道。
答案 0 :(得分:2)
假设以下定义:
val producer = produce<T> { ... }
val actor = actor<T> { ... }
您可以编写以下代码来启动帮助程序,该程序将所有生成的消息发送给您的actor:
launch { producer.toChannel(actor) }
如果您想等到此复制作业完成,您只需使用producer.toChannel(actor)
作为您的协程即可。 toChannel
是一个等待处理完成的终端操作。