[RxJava] RxJava 조건, 수학, 기타 연산자

minnie_dev·2022년 2월 23일
0

RxJava

목록 보기
7/8
post-thumbnail

📝RxJava의 학습 순서
1. Observable 클래스를 명확하게 이해(특히 Hot Observable과 Cold Observable의 개념을 꼭 이해해야함)
2. 변환, 제어, 결합 연산자 등 카테고리별 주요 함수 공부
3. 스케줄러의 의미, subscribeOn()과 observeOn()함수의 차이
4. 그 밖의 디버깅, 흐름 제어함수


1. 조건 연산자

조건 연산자는 Observable 객체 내 데이터의 흐름을 제어하는 연산자이다. 우리는 이와 비슷한 연산자로 filter 연산자를 볼 수 있다. filter 연산자는 Observable 객체 내 데이터에서 원하는 조건에 부합하는 데이터를 발행하고, 미부합하는 데이터는기각하는 연산이 목적이었다면 조건연산자는 데이터의 발행 여부 보다는 그 흐름을 제어하는 연산자이다.

1-1. amb()

amb 연산자는 여러 개 들어오는 Observable 중에서 가장 먼저 데이터가 발행되는 것을 선택하는 조건 연산자이다.

1-2. takeUntil()

takeUntil 연산자는 사전에 먼저 들어온 Observable 객체를 발행하고 구독하고 있는 상태에서 인자로 넘겨 받은 Observable이 발행되면 먼저 발행되었던 Observable 객체를 무시하고 인자로 받은 Observable을 발행한 다음 작업을 마치는 연산자이다. Observable 객체의 값이 들어오면 다른 데이터의 발행이 완료되지 않아도 바로완료 이벤트를 나타낸다.

1-3. skipUntil()

skipUntil 연산자는 takeUntil 연산자와는 정반대로 인자로 주어진 Observable을 발행한 다음부터 기존에 주어진 Observable 객체의 데이터를 발행하겠다는 연산자이다.

1-4. all()

all 연산자는 주어진 모든 조건을 부합하는 Observable을 발행하는 연산자이다.


2. 수학 연산자

수학 연산자는 여러 개의 숫자형 데이터로 이루어진 Array 등을 이용하여 합, 평균 등의 계산을 수행하여 하나의 Observable 객체로 만들어 주는연산자이다.
RxJava에서 수학 연산자는 1.0에서 지원했었던 의존성이였다. 따라서 Math 관련된 연산자는 별도의 의존성을 추가해야한다.

implementation "io.reactivex.rxjava-math:1.0.0"

참고 : https://blog.neonkid.xyz/265?category=486400

profile
Android Developer

0개의 댓글