리액티브 프로그래밍에서는 다양한 함수와 연산자를 사용하여 데이터 스트림을 다룰 수 있습니다.
아래에는 주로 사용되는 몇 가지 RxJava의 함수와 연산자를 나열해보겠습니다.
이러한 함수와 연산자는 데이터를 변형하고 조작하거나 비동기적인 처리를 도와주는 역할을 합니다.
map : 각 데이터 항목에 함수를 적용하여 변형시킵니다.
filter : 조건에 맞는 데이터만 걸러냅니다.
flatMap / concatMap : 각 데이터 항목을 다른 Observable로 매핑하고 병합합니다.
merge / zip : 여러 개의 Observable을 병합하거나 조합합니다.
combineLatest : 여러 개의 Observable의 최신 값을 조합합니다.
distinct : 중복 값을 제거합니다.
take / skip : 처음 몇 개의 항목을 선택하거나 생략합니다.
reduce / scan : 데이터 항목을 조합하여 결과를 생성합니다.
interval / timer : 일정 시간 간격으로 데이터를 생성합니다.
onErrorResumeNext : 오류가 발생할 경우 대체 데이터 스트림으로 전환합니다.
retry : 오류가 발생할 경우 지정된 횟수만큼 재시도합니다.
observeOn / subscribeOn : 스케줄러를 지정하여 데이터 스트림의 스레드를 관리합니다.
backpressure : 데이터 생산과 소비 간의 속도 차이를 관리하는 메커니즘을 제공합니다.
위의 목록은 일부 주요한 함수와 연산자에 대한 것이며, RxJava 외에도 다른 리액티브 라이브러리들도 유사한 함수와 연산자를 제공합니다.
리액티브 프로그래밍은 이러한 함수와 연산자를 조합하여 복잡한 비동기 작업을 더 쉽게 다룰 수 있도록 도와줍니다.