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()` 메서드가 호출되어야 항목 배출
- Hot : Observable 이 생성되자마자 항목 배출
연산자를 활용한 구성
- 연산자는 Observable 이 배출하는 연속된 항목들을 변환, 결합, 조작하는 기능 제공
- 비동기 호출을 구성하기 위해 사용해야 했던 콜백 핸들러의 단점을 제거
연산자 체인
- 대부분의 Operator 는 Observable 상에서 동작하고 Observable 을 리턴한다.
- 이는 연산자 체인을 가능하게 한다.
- 호출 순서에 영향을 받는다.
- 비동기 메서드 호출에서 순서를 보장하기 위해선 위의 사진처럼 콜백함수들을 길게 늘어뜨려야 했다.
학습하면서 배운 키워드 정리
* .share()
.dispose() 자리에 주로 쓰이는데, 정의를 보자면 이렇다.
Connectable Observable 을 일반 Observable 처럼 보이게 한다라.. 그렇다면 Connectable Observable 이 무엇인지 부터 알아야겠다.