我创建了一个observable,它将通过多个订阅者使用,这些订阅者使用emits进行一些资源密集型任务。像这样使用:
val connectableObservable = Observable.create {...}.publish()
connectableObservable.doOnNext {...}.subscribe()
connectableObservable.doOnNext {...}.subscribe()
connectableObservable.connect()
不幸的是,connect()只是在等待源而不是订阅者完成任务。有没有办法等待ConnectableObservable的订阅者完成任务然后才继续执行?
答案 0 :(得分:0)
其中一个订阅者包含.observeOn(Schedulers.io()),它将发送到指定的调度程序。可能.connect()只等待当前线程。删除它可以解决问题。