首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >RxJava -可观察对象的压缩列表,如果抛出异常,如何获取成功响应

RxJava -可观察对象的压缩列表,如果抛出异常,如何获取成功响应
EN

Stack Overflow用户
提问于 2019-05-30 12:42:36
回答 1查看 306关注 0票数 5

我正在尝试在Android中使用rxjava2并行调用多个API。它是按要求工作的,但如果有任何api抛出异常,它不能给出其他API的响应,那么有没有办法调用其他返回成功响应的API。

代码语言:javascript
运行
复制
private fun getStoreCouponData() {

    val userObservable = repo2
        .create<StoreCouponsApi>(StoreCouponsApi::class.java!!)
        .getCoupons
        .subscribeOn(Schedulers.newThread())
        .observeOn(AndroidSchedulers.mainThread())

    val eventsObservable = repo2
        .create<StoreCouponsApi>(StoreCouponsApi::class.java!!)
        .storeInfo
        .subscribeOn(Schedulers.newThread())
        .observeOn(AndroidSchedulers.mainThread())

    val combined = Observable.zip<StoreCoupons, StoreCoupons, StoreList>(userObservable, eventsObservable,
        BiFunction<StoreCoupons, StoreCoupons, StoreList> { response1, response2 -> StoreList(response1, response2) })

    combined.subscribe(object : DefaultObserver<StoreList>() {
        override fun onNext(s: StoreList) {
            for (item in s.store!!.coupons!!) {
                System.out.println(item.store)
            }
        }


        override fun onError(e: Throwable) {
           System.out.println(e)
        }

        override fun onComplete() {

        }
    })

    println(combined)

}    
EN

Stack Overflow用户

发布于 2019-05-30 13:17:56

有一个名为onErrorResumeNext的回调函数,当一个请求出错时,它可以用来继续这个过程。

代码语言:javascript
运行
复制
val combined = Observable.zip<StoreCoupons, StoreCoupons, StoreList>(userObservable, eventsObservable,
        BiFunction<StoreCoupons, StoreCoupons, StoreList> { response1, response2 -> StoreList(response1, response2) }).onErrorResumeNext(
// you can error separately on each requests, and you can call other requests )
票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56371745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档