본 내용은 필자가 학습한 내용을 정리하는 내용입니다. 대부분 의 내용이 아래 책의 내용이므로 원서를 구매해서 직접보시는걸 추천드립니다! RxJava 프로그래밍 리액티브 프로그래밍 기초부터 RxAndroid까지 한 번에 저자님의 블로그 https://brunch.co.kr/@yudong#info |
리액티브 연산자(함수) 분류 - 카테고리
연산자 종류 | 연산자 함수 |
생성 연산자 | just(), fromXXX(), create(), interval(), ragne(), timer(), intervalRange(), defer(), repeat() |
변환 연산자 | map(),flatMap(), concatMap(), switchMap() , groupBy(), scan(), buffer(), window() |
필터 연산자 | filter(), take(), skip(), distinct() |
결합 연산자 |
zip(), combineLatest(), merge(), concat()
|
조건 연산자 | amb(), takeUtil(), skipUtil(), all()
|
에러 처리 연산자 | onErrorReturn(), onErrorResumeNext(), retry(), retryUntil() |
기타 연산자 |
subscribe(), subscribeOn(), observeOn(), reduce(), count()
|
생성연산자- intervalRange()함수
intervalRange() 함수는 interval()과 range()를 혼합해 놓은 함수입니다.
interval() 함수처럼 일정한 시간 간격으로 값을 출력하지만 range() 함수처럼 시작 숫자(n)로 부터 m개만큼의 값만 생성하고 onComplete 이벤트가 발생합니다. 즉 , interval() 함수처럼 무한히 데이터 흐름을 발행하지 않습니다. 리턴타입은 interval() 함수와 동일한 Long 타입입니다.
intervalRange() 함수의 마블다이어그램
출처 - http://reactivex.io/RxJava/javadoc/io/reactivex/Observable.html
intervalRange()함수의 원형은 다음과 같습니다.
intervalRange() 함수는 interval() 함수와 range() 함수를 혼합한 형태이기 때문에 계산 스케줄러에서 실행된다는 점이 같습니다. 사실 인자 개수가 많아 직관적이지는 않습니다.
intervalRange() 함수의 활용 예
CommonUtils.sleep(1000);
실행결과
RxComputationThreadPool-4 | value = 5
'Rx' 카테고리의 다른 글
리액티브연산자[생성연산자]-11(repeat함수,haertbeat) (0) | 2018.12.26 |
---|---|
리액티브연산자[생성연산자]-10(defer함수) (0) | 2018.12.26 |
리액티브연산자[생성연산자]-8(timer함수,range함수) (0) | 2018.12.26 |
리액티브연산자[생성연산자]-7(interval함수) (0) | 2018.12.26 |
리액티브연산자 -6(데이터 쿼리하기,map,filter,reduce 함수) (0) | 2018.12.24 |
댓글