Notice
Recent Posts
Recent Comments
올해는 머신러닝이다.
[RxJava2]ReplaySubject 본문
ReplaySubject
이전 시간에 공부한 replay() , cache
() 기능을 기억하는가.
이전에 배출한 모든 걸 캐싱해서 새로운 Observer
등록시 캐싱된걸 다시 배출시키는 역할이다.
ReplaySubject
는 그 기능을 가진 Subject
이다.
즉 다시 말하자면 PublishSubject
후에 .cache()
을 붙였다고 보면 된다.
//ReplaySubject 선언
io.reactivex.subjects.Subject<String> subject = ReplaySubject.create();
subject.subscribe( v -> System.out.println("Observer 1: " + v));
subject.onNext("Alpha");
subject.onNext("Beta");
subject.onNext("Gamma");
subject.onComplete();
subject.subscribe( v -> System.out.println("Observer 2: " + v));
subject.subscribe( v -> System.out.println("Observer 3: " + v));
...........
Observer 1: Alpha
Observer 1: Beta
Observer 1: Gamma
Observer 2: Alpha <-- 처음부터 캐싱된 걸 보여준다.
Observer 2: Beta
Observer 2: Gamma
Observer 3: Alpha <-- 3번째도 캐싱된걸 보여주고 있다.
Observer 3: Beta
Observer 3: Gamma
'스터디 > RxJava2' 카테고리의 다른 글
[Rxjava2] 예제로 배우는 UnicastSubject (0) | 2017.10.22 |
---|---|
[Rxjava2]AsyncSubject (0) | 2017.10.22 |
[Rxjava2]BehaviorSubject 에 대해서 알아보자. (0) | 2017.10.22 |
[Rxjava2]예제로 이해하는 PublishSubject (0) | 2017.10.22 |
[RxJava2] Replaying , Caching 을 알아보자. (0) | 2017.10.22 |