【问题标题】:RxJava2 Is there is any method like flapMap to handle errorRxJava2 有没有类似flapMap的方法来处理错误
【发布时间】:2020-05-26 03:28:47
【问题描述】:

我在我的 android 应用程序中使用 RxJava2。

我想知道有没有类似flapMap的方法可以用来处理错误。

所以,我想知道的:

有没有什么方法可以在错误发生时返回另一个 observable?

我想要的示例

fun getSomething() : Flowable<Something> { //retrun type can be Single or Maybe
    return somethingDB.getData().`method that return new Observable onError` {
        return@`method that return new Observable onError` somethingServer.getData()
    }
}

method that return new Observable onError 可以是什么?

对不起我的英语

【问题讨论】:

    标签: android rx-java android-room rx-java2 clean-architecture


    【解决方案1】:
     Flowable.just(1)
                .doOnError((e)->{
                    //do something when error
                }).onErrorReturn((it)->{
            // return a value when error
            return 1;
        })
    

    这是你想要的吗?

    【讨论】:

    • 感谢您的回答。好吧,我不想调用 doOnError。我在我的问题中添加了一些细节。
    【解决方案2】:

    这是我的方式:

    fun getSomething() : Flowable<Something> { //retrun type can be Single or Maybe
         var data = somethingDB.getData() : List<Data>  // somethingDB.getData() return List, not return Observable
          if (data==null)
              return somethingDB.getData()
          else return data 
    }
    

    【讨论】:

    • 感谢您的回答。但我为我找到了另一种方式。
    猜你喜欢
    • 2021-04-06
    • 2018-08-22
    • 2011-08-06
    • 2018-06-11
    • 1970-01-01
    • 2014-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多