이번 글에서는 Observable 작업에 유용한 operator에 대해 이야기 합니다.
일정 시간 만큼 데이터를 늦게 전달하는 operator 입니다.
fun main() {
println(System.currentTimeMillis())
val observable = Observable.just("Hello World")
.delay(1000, TimeUnit.MILLISECONDS)
observable.subscribe {
println(System.currentTimeMillis())
println(it)
}
Thread.sleep(2000)
}
Observable에서 발생하는 이벤트를 감지 할 수 있는 operator 입니다. debug용으로 사용하거나 stream 중간에 interceptor용으로 사용합니다.
fun main() {
val observable = Observable.just("Hello", "World")
.doOnNext { println("doOnNext") }
.doOnSubscribe { println("doOnSubscribe") }
.doAfterNext { println("doAfterNext") }
.doAfterTerminate { println("doAfterTerminate") }
.doFinally { println("doFinally") }
.doOnComplete { println("doOnComplete") }
.doOnDispose { println("doOnDispose") }
.doOnEach { println("doOnEach") }
.doOnError { println("doOnError") }
.doOnTerminate { println("doOnTerminate") }
observable.subscribe {
println("- $it")
}
}
TBD
데이터를 생산하고 소비하는 과정까지 중간에 어떤 Scheduler로 동작할 것인지 결정하는 operator 입니다.
TBD
Observable로부터 전달되는 데이터를 받아서 처리하는 operator 입니다. subscribe는 일반적으로 1개에서 3개의 함수를 구현하거나 3개의 함수를 포함하는 인터페이스(Observer 또는 Subscribe)를 구현해야 합니다. 함수는 onNext, onError, onCompleted가 있습니다.