반응형
[출처 - RxJava 프로그래밍 : 리액티브 프로그래밍 기초부터 안드로이드 까지 한번에]
본 글은 'RxJava 프로그래밍 : 리액티브 프로그래밍 기초부터 안드로이드 까지 한번에' 를 학습하면서 정리한 글입니다
마블다이어그램 참고 - http://reactivex.io/RxJava/javadoc/io/reactivex/Flowable.html#repeat--
repeat 함수는 단순 반복 실행 함수 입니다. 보통 이 함수는 서버와 통신을 하면 해당 서버가 잘 살아있는지 확인하는 코드가 필요하기 때문입니다. repeat() 함수의 마블다이어 그램은
마블다이어그램을 보면 빨초파 동그라미가 반복적으로 나타남을 볼수 있습니다.
그럼 예제 code를 보겠습니다.
Java
import io.reactivex.Observable;
public class repeat {
public static void main(String[] args){
String[] balls = {"R","G","B"};
Observable<String> source = Observable.fromArray(balls).repeat(3);
source.doOnComplete(()->System.out.print("onComplete")).subscribe(it->System.out.println("Repeat value: "+it));
}
}
Kotlin
import io.reactivex.rxkotlin.toObservable
fun main(args: Array<String>) {
val balls = arrayOf("R", "G", "B")
val source = balls.toObservable().repeat(3)
source.doOnComplete { print("onComplete") }.subscribe { it -> println("Repeat value: $it") }
}
결과는
Repeat value: R
Repeat value: G
Repeat value: B
Repeat value: R
Repeat value: G
Repeat value: B
Repeat value: R
Repeat value: G
Repeat value: B
onComplete
즉 repeat(3)이니깐 RGB가 3번 나옵니다. 그리고 완료 후 onComplete가 나옵니다.
반응형
'2023년 이전 > ReativeX' 카테고리의 다른 글
RxJava,RxKotlin - switchMap (0) | 2020.01.14 |
---|---|
RxJava, RxKotlin - concatMap (0) | 2020.01.14 |
RxJava, Rxkotlin - defer() (0) | 2019.12.16 |
RxJava,RxKotlin - interavlRange() (0) | 2019.12.16 |
RxJava,RxKotlin - range() (0) | 2019.12.04 |