Page 34 -
P. 34

도중에 구독하더라도 같은 타임라인에서 생성되는 데이터를 통지합니다. refCount 메서드에서 생
               성한 Flowable/Observable은 더 이상 ConnectableFlowable/ConnectableObservable이
               아니므로 connect 메서드가 없습니다. 그러므로 아직 구독 상태가 아니라면 subscribe 메서드가

               호출될 때 처리를 시작합니다. 또한, refCount 메서드로 생성한 Flowable/Observable은 처리
               가 완료된 뒤 또는 모든 구독이 해지된 뒤에 다시 subscribe 메서드가 호출되면 새로운 처리를 다
               시 시작합니다.



               autoConnect

               autoConnect 메서드는 ConnectableFlowable/ConnectableObservable에서 지정한 개수
               의 구독이 시작된 시점에 처리를 시작하는 Flowable/Observable을 생성합니다. autoConnect
               메서드에서 인자 없이 생성한다면 처음 subscribe 메서드가 호출된 시점에 처리를 시작하고,
               autoConnect 메서드에서 인자로 구독 개수를 지정한다면 지정한 개수에 도달한 시점에서 처리를

               시작합니다. 또한, autoConnect 메서드로 생성한 Flowable/Observable은 처리가 완료된 뒤 또는
               모든 구독이 해지된 뒤에는 다시 subscribe 메서드를 호출해도 처리가 다시 시작되지 않습니다.




               1.3.6 Flowable/Observable을 Cold에서 Hot으로 변환하는 연산자


               Cold Flowable/Observable을 Hot Flowable/Observable로 변환하는 주요 연산자는 다음과

               같습니다.


                 Cold에서 Hot으로 변환하는 주요 연산자
                 publish()
                 replay()/replay(int bufferSize)/replay(long time, TimeUnit unit)
                 share()





               publish
               publish 메서드는 원래 Cold인 Flowable/Observable에서 ConnectableFlowable/
               ConnectableObservable을 생성하는 연산자입니다. 이 메서드로 생성한 ConnectableFlowable/

               ConnectableObservable은 처리를 시작한 뒤에 구독하면 구독한 이후에 생성된 데이터부터 새
               로운 소비자에게 통지합니다.


         042





     RxJava 리액티브 프로그래밍(본문)최종.indd   42                                                      2019-03-26   오전 11:26:31
   29   30   31   32   33   34   35