RxJava: Subject, PublishSubject, BehaviorSubject
Subject
는 구독하고 있는 관찰자(Oberver) 에게 새로운 값을 전달할 때 사용한다.
onNext()
로 데이터를 방출한다.class Person {
//Subject 생성
var nameSubject$: PublishSubject<String> = PublishSubject.create()
}
val person = Person()
person.nameSubject$.subcribe { name ->
//name 구독
}
//name 방출
person.nameSubject$.onNext("selfish")
person.nameSubject$.onNext("developer")
PublishSubject
는 구독 이후에 방출되는 값만을 받는다.