如何最好等到 actor 在 kotlinx.coroutines 0.20 停止?
How best to wait until the actor stops in kotlinx.coroutines 0.20?
在 kotlinx.coroutines 0.19 中,actor
returns ActorJob
可以 join
ed:
val myActor = actor<...> { ... }
...
myActor.join()
在0.20中,改为returnSendChannel
。查看实现,它仍然 return 扩展 Job
的 class 实例,所以我 可以 写
...
(myActor as Job).join()
但这是明显的代码味道。有更好的选择吗?
我最后做的是创建一个 Channel
,然后单独 launch
ing 一个 Job
迭代这个频道。
在 kotlinx.coroutines 0.19 中,actor
returns ActorJob
可以 join
ed:
val myActor = actor<...> { ... }
...
myActor.join()
在0.20中,改为returnSendChannel
。查看实现,它仍然 return 扩展 Job
的 class 实例,所以我 可以 写
...
(myActor as Job).join()
但这是明显的代码味道。有更好的选择吗?
我最后做的是创建一个 Channel
,然后单独 launch
ing 一个 Job
迭代这个频道。