기어가더라도 제대로

RxSwift 용어 정리 - 2 - 본문

Swift - 기초

RxSwift 용어 정리 - 2 -

Damagucci-juice 2022. 5. 12. 11:40

출처 : https://reactivex.io/documentation/ko/observable.html

 

ReactiveX - Observable

Observable ReactiveX에서 옵저버는 Observable을 구독한다. Obseravable이 배출하는 하나 또는 연속된 항목에 옵저버는 반응한다. 이러한 패턴은 동시성 연산을 가능하게 한다. 그 이유는 Observable이 객체를

reactivex.io

 

구독해지 

* Subscriber : 옵저버의 인터페이스, unsubscribe() 메서드 제공
    * 현재 구독 중인 Observable 중 옵저버가 더 이상 구독을 원하지 않는 경우 이 메서드 호출
    * 만약 구독 중인 다른 옵저버가 없다면 Observable 은 더 이상 값을 내지 않음 

Hot, Cold, Connectable 

  • Observable 의 종류
    • Hot : Observable 이 생성되자마자 항목 배출
      • 옵저버가 놓친 항목이 있을 수 있다.
    • Cold : 옵저버가 구독을 해야 그제서부터 항목을 배출
      • 전체 항목을 구독하도록 보장 
    • Connectable : 옵저버 구독 여부 상관이 없다.
      • 자신의 `Connect()` 메서드가 호출되어야 항목 배출

연산자를 활용한 구성 

  • 연산자는 Observable 이 배출하는 연속된 항목들을 변환, 결합, 조작하는 기능 제공
  • 비동기 호출을 구성하기 위해 사용해야 했던 콜백 핸들러의 단점을 제거 

비동기 콜백 핸들러가 연결에 연결되어 있는 모습이다.

 

연산자 체인

  • 대부분의 Operator 는 Observable 상에서 동작하고 Observable 을 리턴한다.
  • 이는 연산자 체인을 가능하게 한다.
  • 호출 순서에 영향을 받는다. 
    • 비동기 메서드 호출에서 순서를 보장하기 위해선 위의 사진처럼 콜백함수들을 길게 늘어뜨려야 했다.

 

학습하면서 배운 키워드 정리 

* .share()

.dispose() 자리에 주로 쓰이는데, 정의를 보자면 이렇다.

 

Connectable Observable 을 일반 Observable 처럼 보이게 한다라.. 그렇다면 Connectable Observable 이 무엇인지 부터 알아야겠다. 

Comments