Rx java 如何绕过未完成的
我使用BehaviorSubject从不同的来源生成事件流。 经过简化,它看起来是这样的:Rx java 如何绕过未完成的,rx-java,Rx Java,我使用BehaviorSubject从不同的来源生成事件流。 经过简化,它看起来是这样的: BehaviorSubject subject = BehaviorSubject.create(); Observable<Integer> src1 = Observable.just(1, 2, 3); Observable<Integer> src2 = Observable.just(4, 5, 6); Observable<Integer> src3 = O
BehaviorSubject subject = BehaviorSubject.create();
Observable<Integer> src1 = Observable.just(1, 2, 3);
Observable<Integer> src2 = Observable.just(4, 5, 6);
Observable<Integer> src3 = Observable.just(7, 8, 9);
src1.subscribe(subject);
src2.subscribe(subject);
src3.subscribe(subject);
subject.subscribe(this::log);
BehaviorSubject subject=BehaviorSubject.create();
可观测的src1=可观测的。刚好(1,2,3);
可观测的src2=可观测的。刚好(4,5,6);
可观察的src3=可观察的。刚好(7,8,9);
src1.认购(标的);
src2.认购(标的);
src3.认购(标的);
subject.subscribe(this::log);
在本例中,只记录src1
中的值,因为src1
完成后将不再存在主题订阅
如何绕过所有来源的完成事件?是否有类似于
ignoreCompleted()
的操作符?使用此操作符,它会忽略onComplete()和onError():更简单的是在订阅中包装主题,只调用subject.onNext()(我怀疑这个库确实做到了这一点)。无论如何,我会试试的,谢谢!既然可以简单地使用merge操作符,为什么还要使用Subject来合并事件流呢?因为我有很多Subject的订阅者。即,我与许多订户共享流。