observable.from() 과 observable.just() 의 차이에 대해서 알아보자
observable.from은 내부의 아이템들의 요소를 각각 배출하고
observable.just는 내부의 아이템들을 각각 배출하는데
알기쉽게 결과로 보면 다음과 같다.
먼저 from 코드와 결과 이다.
코드
val fromObserver = object : Observer<String> {
override fun onComplete() {
println("onComplete")
}
override fun onSubscribe(d: Disposable) {
println("New Subscribtion = ${d}")
}
override fun onNext(item: String) {
println("Next = $item")
}
override fun onError(e: Throwable) {
println("Error Occured ${e.message}")
}
}
fun simpleObservableFrom() {
val list = listOf("String1", "String2", "String3", "String4")
val observableFromIterable = Observable.fromIterable(list)
observableFromIterable.subscribe(fromObserver)
}
결과
다음은 just의 코드와 결과 이다.
코드
val justObserver = object : Observer<List<String>> {
override fun onComplete() {
println("onComplete")
}
override fun onSubscribe(d: Disposable) {
println("New Subscribtion = ${d}")
}
override fun onNext(item: List<String>) {
println("Next = $item")
}
override fun onError(e: Throwable) {
println("Error Occured ${e.message}")
}
}
fun simpleObservableJust() {
val list = listOf("String1", "String2", "String3", "String4")
val observableFromIterable = Observable.just(list)
observableFromIterable.subscribe(justObserver)
}
결과
참고로 from을 설명 했는데 예제에서 fromIterable 을 사용한 이유는
RxKotlin 1에서는 Observerble.from을 사용했었지만, RxKotlin 2.0에서는 연산자 오버로드로
fromFuture, fromIterable, fromCallable 등과 같이 접미사가 추가 되었다.
'공부방 > RxKotlin' 카테고리의 다른 글
What is BackPressure? (BackPressure 란?) (0) | 2019.07.25 |
---|---|
What is ConnectableObservable? (0) | 2019.07.23 |
cold observable and hot observable (0) | 2019.07.23 |
What is Observable? (0) | 2019.07.23 |
Simple Observable (0) | 2019.07.23 |
행복한 코딩을 위하여!
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!