ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [RxJava] Operators(연산자)
    ReactiveX 2021. 4. 30. 11:15

    ReactiveX를 지원하는 언어별 구현체들은 다양한 연산자들을 제공하는데, 이 중에는 공통적으로 제공되는 연산자도 있지만 반대로 특정 구현체에서만 제공하는 연산자들도 존재한다. 

    연산자 체인

    거의 모든 연산자들은 Observable 상에서 동작하고 Observable을 리턴한다. 

    연산자 체인에서 각각의 연산자는 이전 연산자가 리턴한 Observable을 기반으로 동작하며 동작에 따라 Observable을 변경한다. 먼저 실행된 연산자가 리턴한 Observable을 기반으로 다음 연산자가 동작하기 때문에 Observable의 연산자 체인은 원본 Observable과 독립적으로 실행될 수 없고 순서대로 실행되어야 한다.

    카테고리별 연산자

    • Observable 생성

     - 새로운 Observable을 만드는 연산자들

     - Create, Just, Defer, From 등이 있다.

    • Observable 변환

     - Observable이 배출한 항목들을 원하는 출력으로 변환하는 연산자들

     - Buffer, Map, Scan 등이 있다.

    • Observable 필터링

     - 소스 Observable에서 원하는 데이터만 걸러내는 연산자들

     - Filter, First, Take 등이 있다.

    • Observable 결합

     - 여러 개의 소스 Observable들을 하나의 Observable로 만드는 연산자들

     - Join, Zip, And 등이 있다.

    • 오류 처리 연산자

     - Observable이 던진 오류를 복구할 수 있도록 도와주는 연산자들

     - Catch, Retry 

    • Observable 유틸리티 연산자

     - Obserable과 함께 동작하는 유용한 연산자들

     - Delay, Subsribe 등이 있다.

    • 조건과 Boolean 연산자

     - 하나 이상의 Observable 또는 Observable이 배출한 항목을 평가하는 연산자들

     - Contains, SkipWhile 등이 있다

    • 수학과 집계 연산자

     - 수학 함수와 연관 있는 연산자

     - Average, Count 등이 있다

    • Backpressure 연산자

     - backpressure 이슈에 대응하는 연산자

    • 연결 가능한 Observable 연산자

     - 좀 더 정확히 제어되는 구독 역학을 가진 전문 Observable들

     - Connect, Publish 등이 있다.

    • Observable 변환 연산자

     - To : Observable을 다른 객체나 자료 구조로 변환한다

     

    자세한 내용 및 연산자 결정 트리 정보는 ReactiveX operators 페이지 참고

    https://reactivex.io/documentation/ko/operators.html

     

    References

    • https://reactivex.io/
    • 유동환, 박정준, 리액티브 프로그래밍 기초부터 안드로이드까지 한번에, 한빛미디어 

    'ReactiveX' 카테고리의 다른 글

    [RxJava] Scheduler  (0) 2021.05.01
    [RxJava] Single, Maybe  (0) 2021.05.01
    [RxJava] Observable  (0) 2021.04.29
    마블 다이어그램(Marble diagrams)  (0) 2021.04.29
    [RxJava] Reactive  (0) 2021.04.27
Designed by Tistory.