gpt4 book ai didi

android - RX如何根据错误类型返回Throwable或Object

转载 作者:行者123 更新时间:2023-12-02 13:25:06 25 4
gpt4 key购买 nike

我有一个返回Observable的方法。在这种情况下,如果发生错误,我需要检查错误类型,对于某些特定的错误,我需要返回MyObject而不是错误。
例:

    override fun getSomething(param: String): Observable<State> {
return someInterface.getSingleResult(param)
.flatMapObservable {
when(something) {
true -> {
Observable.just(State.ACTIVE)
}
false -> {
Observable.just(State.PAUSED)
}
}
}
.onErrorReturn {
if(it is Something) {
State.INACTIVE
} else {
// returns Throwable <- don;t know how to handle this
}
}
}

最佳答案

我不确定我是否正确,但是以下内容对您有用吗?

.onErrorResumeNext {
if (it is Something) {
Observable.just(State.INACTIVE)
} else {
Observable.error(it)
}
}

fun testObservable(): Observable<Int> {
return Observable.just(1, 2, 3)
.onErrorResumeNext { error: Throwable ->
if (error is IllegalArgumentException) {
Observable.just(0)
} else {
Observable.error(error)
}
}
}

关于android - RX如何根据错误类型返回Throwable或Object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64571621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com