본문 바로가기
2023년 이전/ReativeX

RxJava, RxKotlin - repeat()

by JeongUPark 2019. 12. 16.
반응형

[출처 - 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