2020. 4. 24.

RxJava / RxAndroid - doOnNext / doOnSubscribe / doOnTerminate 에서 실행

최근에 아주 바보같은 실수..


Observable.just(0)
    .doOnNext(value -> anyObservable())
    .subscribe(value -> {})

이런 코드를 작성한 적이 있다.

여기서 문제는?

anyObservable()이 호출은 되는데, 실행이 안됨..
왜냐하면 doOnNext/doOnSubscribe/doOnTerminate/doOnError 내부에서의 구문은
단순히 명령의 실행이지 Rx chain을 연결하는 것이 아니라서 subscribe가 되지 않는다.

즉 cold observable이 기본인 Rx에서 subscribe가 되지 않았기 때문에 그냥 변수선언일 뿐이라는것!

주의하자!!

댓글 없음:

댓글 쓰기

[다자녀할인] 2자녀 이상 모든 공항 주차장 50% 할인받기 (둘 중 한명은 15세 이하)

다자녀 기준이 2명으로 완화되면서 자녀가 2명만 되어도 공영주차장 50%(지역에 따라 30%인 곳 도 있음) 할인이 가능하고, 전국의 공항주차장도 50% 할인이 가능하다. "다둥이카드" 나 "경기 I Plus 카드"...