【问题标题】:Wait for completion of tasks of subscribers of ConnectableObservable等待 ConnectableObservable 订阅者的任务完成
【发布时间】:2017-09-20 00:17:44
【问题描述】:

我创建了一个 observable,它将被多个订阅者使用,这些订阅者使用 emits 执行一些资源密集型任务。像这样使用:

val connectableObservable = Observable.create {...}.publish()
connectableObservable.doOnNext {...}.subscribe()
connectableObservable.doOnNext {...}.subscribe()
connectableObservable.connect()

不幸的是,connect() 只是同步等待一个源,而不是让订阅者完成任务。有没有办法等待 ConnectableObservable 的订阅者完成任务,然后才继续执行?

【问题讨论】:

  • 解决了从订阅者中删除 .observeOn() 的问题。我想知道是否有办法以这种方式将多线程与 .connect() 一起使用。

标签: java kotlin observable reactive-programming reactive


【解决方案1】:

其中一个订阅者包含 .observeOn(Schedulers.io()),它将发射发送到指定的调度程序。可能 .connect() 只等待当前线程。删除它可以解决问题。

【讨论】:

    猜你喜欢
    • 2019-09-23
    • 1970-01-01
    • 2019-03-24
    • 1970-01-01
    • 2022-07-05
    • 2021-11-16
    • 1970-01-01
    • 2021-10-13
    相关资源
    最近更新 更多