본문 바로가기

안드로이드/ReactiveX

뜨거운/차가운 Observable

차가운 Observable은 구독하면 처음부터 데이터를 받습니다.

- 기본 Observable이라고 보시면 됩니다.

- 수동적으로 데이터를 줍니다.

-

뜨거운 Observable은 구독하면 구독한 시점부터 Observable이 주는 데이터를 받습니다.

- 능동적으로 데이터를 줍니다.

뜨거운 Observable

<connectableObservable>

기본적으로 ConnectableObservable이 있습니다.

우선 publish()를 통해 Observable을 ConnectableObservable로 변환시켜줘야 합니다.

구독자가 subscribe()를 해도 ConnectableObservable이 connect()를 하지않으면 데이터를 전달되지 않습니다.

connect()이후에 구독자는 데이터를 전달받고 connect()이후에 subscribe()한 구독자는 데이터의 처음부터 받지 않고 subscribe()한 시점부터 받게 됩니다.

<PublishSubject>

Observable과 Observer 모두 구현하고 있는 class입니다.

Observable은 Disposable 객체를 이용하여 따로 observer을 만들어주는 반면,

PublishSubject는 한 객체로 observer을 만들어 줄 수 있습니다.

간단한 예제입니다.

참고:

https://brunch.co.kr/@yudong/61

'안드로이드 > ReactiveX' 카테고리의 다른 글

RxJava - Scheduler 연습  (0) 2020.03.20
RxJava - Scheduler  (0) 2020.03.20
RxJava 기초  (0) 2020.03.20