2017-04-15 3 views
0

다른 소스의 이벤트 스트림을 만들기 위해 BehaviorSubject를 사용합니다. 단지 기록됩니다 src1에서이 값의 예에서oncompleted를 우회하는 방법

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

, 더 이상 주제 가입 의지 src1 완료 후 존재하지 않기 때문에 : 은, 그것은 그 같이 단순화된다.

모든 소스에서 완료 이벤트를 무시할 수 있습니까? ignoreCompleted()과 같은 연산자가 있습니까?

+0

왜 당신은 단순히 병합 연산자를 사용할 수있을 때 이벤트 스트림을 병합하는 주제를 사용할 수 있습니까? – JohnWowUs

+0

많은 피사체 가입자가 있기 때문에. 나는. 많은 구독자와 스트림을 공유합니다. – Alexey

답변

0

사용이, 그것은 무시의 onComplete()과의 OnError() : https://github.com/JakeWharton/RxRelay

+0

더 간단하게 서브 스크립 션에서 subject를 감싸고 subject.onNext() 만 호출하면됩니다 (그리고이 라이브러리가 정확하게 수행하는 것으로 의심됩니다). 어쨌든, 그것을 시도합니다, 감사합니다! – Alexey

관련 문제