반응형
[출처 - RxJava 프로그래밍 : 리액티브 프로그래밍 기초부터 안드로이드 까지 한번에]
본 글은 'RxJava 프로그래밍 : 리액티브 프로그래밍 기초부터 안드로이드 까지 한번에' 를 학습하면서 정리한 글입니다
마블다이어그램 참고 - http://reactivex.io/RxJava/javadoc/io/reactivex/Flowable.html#range-int-int-
range() 함수는 주어진 값(n)부터 m개의 integer 객체를 발행합니다. (interval과 timer 함수는 Long 객체를 발행합니다.)
range의 원 code를 보면
@SchedulerSupport(SchedulerSupport.NONE)
public static Observable<Integer> range(final int start, final int count)
SchedulerSupport.NONE로 보아 range도 scheduler에서 실행되지 않고 현재 스레드에서 실행되는 것을 알 수 있습니다.
활용한 예제 code를 보면
Java
import io.reactivex.Observable;
public class rangefun {
public static void main(String[] args){
Observable<Integer> source = Observable.range(1,10).filter(num-> num%2 == 0);
source.subscribe(it -> System.out.println(it));
}
}
Kotlin
import io.reactivex.Observable
fun main(){
val source = Observable.range(1,10).filter { num -> num%2==0 }
source.subscribe{it -> System.out.println(it)}
}
이고 결과는
2
4
6
8
10
로 확인 할 수 있습니다.
그리고 지금까지와 다르게 이 code는 현재 스레드에서 동작하기 떄문에 따로 interval 함수나 timer 함수와 다르게 CommonUtils.sleep(1000);를 사용하여 thread를 동작시키지 않아됩니다.
반응형
'2023년 이전 > ReativeX' 카테고리의 다른 글
RxJava, Rxkotlin - defer() (0) | 2019.12.16 |
---|---|
RxJava,RxKotlin - interavlRange() (0) | 2019.12.16 |
RxJava, RxKotlin - timer (0) | 2019.11.20 |
RxJava,RxKotlin - Interval (0) | 2019.11.20 |
RxJava,RxKotlin - reduce (0) | 2019.11.13 |