Notice
Recent Posts
Recent Comments
올해는 머신러닝이다.
[Rxjava2]BehaviorSubject 에 대해서 알아보자. 본문
BehaviorSubject
주로 많이 쓰이는 subject
중 하나이다.
기능은 최근 마지막껄 캐싱해서 보여주는 subject
이다.
이전 시간에 배운 replay() , autoConnect() 을 기억하는가?
이 BehaviorSubject
는 이 2가지 기능들을 통합해놓은 거라고 보면된다.
즉 PublishSubject
후에 replay(1)
.autoConnect()
를 통합한 Subject 이다.
그럼 예제를 한번 보자.
//BehaviorSubject 선언
io.reactivex.subjects.Subject<String> subject = BehaviorSubject.create();
subject.subscribe( v -> System.out.println("Observer 1: " + v));
subject.onNext("Alpha");
subject.onNext("Beta");
subject.onNext("Gamma");
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: Gamma <-- 캐싱되서 1개만 보여주고 있다.
Observer 3: Gamma <-- 캐싱되서 1개만 보여주고 있다.
만약 마지막 1개의 이벤트를 배출하고 싶다면 BehaviorSubject
을 사용하자.
'스터디 > RxJava2' 카테고리의 다른 글
[Rxjava2]AsyncSubject (0) | 2017.10.22 |
---|---|
[RxJava2]ReplaySubject (0) | 2017.10.22 |
[Rxjava2]예제로 이해하는 PublishSubject (0) | 2017.10.22 |
[RxJava2] Replaying , Caching 을 알아보자. (0) | 2017.10.22 |
[RxJava2]refCount 와 share 기본 개념 (0) | 2017.10.22 |