ConnectableObervable 클래스는 Subject 클래스처럼 차가운 Observable을 뜨거운 Observable로 변환합니다. Observable을 여러 구독자에게 공유할 수 있으므로 원 데이터 하나를 여러 구독자에게 동시에 전달할 때 사용합니다.
특이한 점은 subscribe() 함수를 호출해도 아무 동작이 일어나지 않는다는 것입니다. 새로 추가된 connect() 함수는 호출한 시점부터 subscribe() 함수를 호출한 구독자에게 데이터를 발행하기 때문입니다.
ConnectableObservable 객체를 생성하려면 먼저 Observable에 publish () 함수를 호출해야 합니다. 이 함수는 여러 구독자에게 데이터를 발행하기 위해 connect () 함수를 호출하 기 전까지 데이터 발행을 유예하는 역할을 합니다.
보통은 Observable에 subscribe() 함수를 호출해야 데이터 발생을 시작하는데 이제는 아무런 일도 일어나지 않습니다. 오로지 connect() 함수를 호출해야 그때까지 구독했던 구독자 모두에게 데이터를 발행합니다.
[ 출처 : RxJava 프로그래밍 ]
728x90
반응형
'Domain > ReactiveX' 카테고리의 다른 글
[ReactiveX] Scheduler (0) | 2021.04.29 |
---|---|
[ReactiveX] SubscribeOn vs ObserveOn (0) | 2021.04.29 |
[ReactiveX] Subject (0) | 2021.04.29 |
[ReactiveX] Cold Observable Vs Hot Observable (0) | 2021.04.29 |
[ReactiveX] Maybe (0) | 2021.04.29 |
댓글