Android Dev / / 2019. 12. 7. 22:54

Rxjava Observable/BehaviorSubject 에 대한 고찰

Observable 사용은 

1. 선언

2. 발행

3. 구독

 

1 -> 2 -> 3 스탭이 있다.

 

옵저버블 선언후 이를 발행 없이(just와 같은) 구독하면 initialize 오류가 나서 실행되지 않는다.

즉 1 -> 3 -> 2 호출이면 에러가 나는 것이다.

 

그런데 이런 경우가 설계시 필요할 때가 자주 필요하다. 

 

이 때, 구독과 발행 역할을 동시에 할 수 있고 초기 발행값도 설정할 수 있는 비헤비어 서브젝트를 사용해서 순서를 뒤

집어 구성할 수 있다.

 

BehaviorSubject 를 선언하고 

create() 로 초기화를 하고나면  

3 스탭인 구독을 바로 할 수 있다.

 

여기서 중요한 점은 createDefault로 초기값을 선언해주지 않고 create만 선언해서 1 -> 3 -> 2로 호출한다면,

subscribe 동작도 일어나지 않아 원하는 방향으로 쉽게 설계를 할 수 있다.

(만약 발행값이 없는데도 구독하는 행위가 일어났다면 조금은 불편했을 것인데, 이렇게 되지 않아서 원하는 방향이라고 말한 것)

 

 

 

  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유