반응형
우선 map부터 보겠다.
val data = arrayOf("100", "300")
val a :Observable<Int> = Observable.fromArray(*data).map { value ->
value.toInt()
}.map { value ->
if (value > 200) {
return@map 3000
} else {
return@map 1000
}
}
a.subscribe{data -> System.out.println(data+1)}map은 하나의 데이터를 가공하는 것을 말한다.
우선 data의 "100"을 map을 통해 인트로 형변환 한다.
또 한번 map을 통해 200보다 작으면 1000 크면 3000을 리턴한다.
subscribe를 통해 가공한 값들을 구독한다.
Observable.fromArray(*data).flatMap {
value ->
Observable.just(value.toInt())
}.map { value ->
if (value > 200) {
return@map 3000
} else {
return@map 1000
}
}.subscribe {
data -> System.out.println(data+1)
}
flatMap은 map과 달리 Observable형태로 값을 리턴하므로 이를 통해 just를 사용한다거나 다양한 형태로 재 가공을 할 수 있다.
반응형