Rxswift Operator

RxSwift에서 Operator는 Observable을 조작하여, 데이터를 변형하거나 필터링하는 함수입니다. Operator는 매우 다양하며, 사용자의 요구에 따라 적절한 Operator를 선택하여 사용해야 합니다. Operator는 크게 변형(Transforming) Operator, 필터링(Filtering) Operator, 결합(Combining) Operator, 오류(Error Handling) Operator로 구분할 수 있습니다.
- 변형(Transforming) Operator
- map: Observable이 발생시키는 이벤트를 변형하는 함수입니다. 새로운 Observable을 생성하여, 이전 Observable의 이벤트를 새로운 이벤트로 변환합니다.
- flatMap: Observable이 발생시키는 이벤트를 새로운 Observable로 변환하는 함수입니다. 반환되는 Observable의 이벤트를 새로운 Observable로 전달합니다.
- scan: 이전 이벤트와 현재 이벤트를 조합하여 새로운 이벤트를 생성합니다. 초기값을 제공하여, 이벤트를 조합하는 작업을 시작합니다.
- buffer: 일정 기간 또는 이벤트 수에 도달할 때까지 이벤트를 수집하여, 이벤트의 배열을 반환합니다.
- 필터링(Filtering) Operator
- filter: Observable이 발생시키는 이벤트 중, 지정한 조건에 해당하는 이벤트만 필터링하여 전달합니다.
- distinctUntilChanged: 연속적으로 중복된 이벤트를 제거합니다.
- take: Observable이 발생시키는 일정 이벤트 수만큼 이벤트를 가져옵니다.
- skip: Observable이 발생시키는 이벤트 중, 처음 몇 개의 이벤트를 무시합니다.
- 결합(Combining) Operator
- merge: 여러 개의 Observable을 하나의 Observable로 결합합니다. 두 개 이상의 Observable이 동시에 발생할 수 있습니다.
- zip: 두 개의 Observable이 발생할 때, 각 Observable이 발생시킨 이벤트를 조합하여 새로운 이벤트를 생성합니다.
- combineLatest: 두 개의 Observable 중 하나의 Observable이 이벤트를 발생시키면, 다른 Observable의 최신 이벤트를 사용하여 새로운 이벤트를 생성합니다.
- switchLatest: 하나의 Observable에서 발생한 이벤트로 다른 Observable을 구독합니다.
- 오류(Error Handling) Operator
- catchError: Observable이 오류를 발생시키면, 지정된 오류 대체 값을 반환합니다.
- retry: Observable이 오류를 발생시키면, 지정된 횟수만큼 재시도합니다.
댓글
