当像 ConnectableObservable 这样的热门观察者完成时,如何获得回调?
How to get a callback when every observer of a hot like ConnectableObservable complete?
我正在寻找一个 doOn... 回调,用于在每个观察者终止时调用的 ConnectableObservable
val gatewayItems = viewModel.getGatewayItems(gateways!!)
.observeOn(Schedulers.io())
.take(1)
.publish()
.autoConnect(2)
gatewayItems.subscribe { sharedGateways -> sharedGatewaysAdapter.submitList(sharedGateways) }
gatewayItems.subscribe { sharedGateways -> privateGatewaysAdapter.submitList(privateGateways) }
当我的两个观察者都发出终端事件信号时,我想得到对我的多播热可观察对象的回调
我尝试将 doOnTerminate 和 doOnComplete 运算符放在我的父级多播可观察对象上,但是,这些回调似乎被调用了 2 次(每个观察者调用一次)
val gatewayItems = viewModel.getGatewayItems(gateways!!)
.observeOn(Schedulers.io())
.take(1)
.doOnComplete { ... }
.doOnTerminate { ... }
.publish()
.autoConnect(2)
.doOnComplete
和 .doOnTerminate
都适合我。
编辑:您可能以错误的顺序附加了 do...
运算符。例如,这些 doOnComplete
都不起作用:
val gatewayItems = viewModel.getGatewayItems(gateways!!)
.observeOn(Schedulers.io())
.doOnComplete { ... }
.take(1)
.publish()
.autoConnect(2)
.doOnComplete { ... }
我正在寻找一个 doOn... 回调,用于在每个观察者终止时调用的 ConnectableObservable
val gatewayItems = viewModel.getGatewayItems(gateways!!)
.observeOn(Schedulers.io())
.take(1)
.publish()
.autoConnect(2)
gatewayItems.subscribe { sharedGateways -> sharedGatewaysAdapter.submitList(sharedGateways) }
gatewayItems.subscribe { sharedGateways -> privateGatewaysAdapter.submitList(privateGateways) }
当我的两个观察者都发出终端事件信号时,我想得到对我的多播热可观察对象的回调
我尝试将 doOnTerminate 和 doOnComplete 运算符放在我的父级多播可观察对象上,但是,这些回调似乎被调用了 2 次(每个观察者调用一次)
val gatewayItems = viewModel.getGatewayItems(gateways!!)
.observeOn(Schedulers.io())
.take(1)
.doOnComplete { ... }
.doOnTerminate { ... }
.publish()
.autoConnect(2)
.doOnComplete
和 .doOnTerminate
都适合我。
编辑:您可能以错误的顺序附加了 do...
运算符。例如,这些 doOnComplete
都不起作用:
val gatewayItems = viewModel.getGatewayItems(gateways!!)
.observeOn(Schedulers.io())
.doOnComplete { ... }
.take(1)
.publish()
.autoConnect(2)
.doOnComplete { ... }