본문 바로가기

Android

rxjava maybe

https://medium.com/rainist-engineering/migrate-from-rxjava1-to-rxjava2-3aea3ff9051c

// ex1
Maybe.just("hello").subscribe(
    ::println, // onSuccess
    { it.printStackTrace() }, onError
    { println("onComplete") }

// output : hello


// ex2
Maybe.fromCallable {
    val nullableStr: String? = null
    nullableStr
}.subscribe(
    ::println, // onSuccess
    { it.printStackTrace() }, onError
    { println("onComplete") }
)

// output : onComplete

1번은 데이터가 있으니 hello 가 출력되고 2번은 없어서 onComplete 가 찍힘



// ex3
Maybe.fromCallable {
    val nullableStr: String? = null
    nullableStr
}.flatMapSingle {
    Single.just("Single")
}.subscribe(
    ::println, // onSuccess
    { it.printStackTrace() } // onError
)
// Output > java.util.NoSuchElementException ...


// ex4
Maybe.fromCallable {
    val nullableStr: String? = null
    nullableStr
}.flatMap {
    Maybe.just("Maybe")
}.subscribe(
    ::println, // onSuccess
    { it.printStackTrace() }, // onError
    { println("onComplete") } // onComplete
)
// Output > onComplete

'Android' 카테고리의 다른 글

github blog  (0) 2018.10.25
rx?  (0) 2018.10.25
android studio 3.2 업데이트  (0) 2018.10.25
ndk 그리고 cmake  (0) 2018.09.13
api level 28 에서 getDrawingCache 가 deprecated 되었다.  (0) 2018.09.12