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 */);