2017-12-13 15 views
3

produceコルーチンビルダーで作成したプロデューサをactorコルーチンビルダーで作成したアクターに接続するにはどうすればよいですか?プロデューサをアクタに接続するにはどうすればよいですか?

基本的には、producerの送信チャンネルをactorの受信チャンネルにしたいと思います。それを行う簡単な方法はありますか?

ドキュメンテーションで、プロデューサまたはアクタが使用するチャネルを明示的に指定できるものが見つかりませんでした。以下の定義を想定し

答えて

2

:あなたはこのまで待ちたい場合は

launch { producer.toChannel(actor) } 

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

あなたのアクターに、すべての生成されたメッセージを送信するヘルパーコルーチンを起動するには、次のコードを書くことができますコピージョブが完了したら、あなたのコルーチンにproducer.toChannel(actor)を単に使うことができます。 toChannelは、処理が完了するまで待つ端末操作です。

関連する問題