Rx java RxJava-.doAfterSubscribe()?
Rx java RxJava-.doAfterSubscribe()?,rx-java,Rx Java,.doOnSubscribe()在连接可观察对象的订户之前执行 我需要在连接订阅服务器后执行一个副作用。这可能吗?操作员在订阅时执行doOnSubscribe。不能说doOnSubscribe在订阅之前或之后运行。运营商doOnSubscribe在订阅时执行。不能说doOnSubscribe是在订阅之前或之后运行的。在“真正的工作”之前使用流的组合来执行某些操作: 在“实际工作”之前,使用流的组合执行某些操作: >是在订阅权限上执行的。我正在订阅一个PublishSubject,我想消除一个副作
.doOnSubscribe()
在连接可观察对象的订户之前执行
我需要在连接订阅服务器后执行一个副作用。这可能吗?操作员在订阅时执行doOnSubscribe。不能说doOnSubscribe在订阅之前或之后运行。运营商doOnSubscribe在订阅时执行。不能说doOnSubscribe是在订阅之前或之后运行的。在“真正的工作”之前使用流的组合来执行某些操作:
在“实际工作”之前,使用流的组合执行某些操作:
>是在订阅权限上执行的。我正在订阅一个
PublishSubject
,我想消除一个副作用,它将调用PublishSubject.onNext()
,并且接收发射…>的订阅者将在订阅权限上执行。我正在订阅一个PublishSubject
,我想消除一个副作用,这个副作用将调用PublishSubject.onNext()
,订阅方将接收发射…注意-.concatWith()
不起作用,但.mergeWith()
起作用。谢谢我的用例是源是一个中继
,副作用使其发生变异。“不工作”意味着由于副作用,用户没有接收到来自继电器的发射。我想,startWith
@ZakTaccardi我仔细研究了一下。我“startWith”和concatWith
不起作用的原因是startWith
也是concat
的。因此,在你的副作用完成后,它会延迟你的用药。但是你需要在你的下游已经建立好之后做点什么mergeWith()
解决此问题。注意-.concatWith()
不起作用,但.mergeWith()
起作用。谢谢我的用例是源是一个中继
,副作用使其发生变异。“不工作”意味着由于副作用,用户没有接收到来自继电器的发射。我想,startWith
@ZakTaccardi我仔细研究了一下。我“startWith”和concatWith
不起作用的原因是startWith
也是concat
的。因此,在你的副作用完成后,它会延迟你的用药。但是你需要在你的下游已经建立好之后做点什么<代码>合并()解决此问题。
Observable source = ... // the actual flow
source.startWith(
Observable.empty()
.doOnCompleted(() -> { /* your initial side-effect here */ })
)
.subscribe(/* consume the events of source */);