首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Retrofit和RX-java处理无网络的正确方法

使用Retrofit和RX-java处理无网络的正确方法
EN

Stack Overflow用户
提问于 2015-02-25 23:24:04
回答 1查看 9.2K关注 0票数 9

我想在调用我的rx翻新服务之前检查手机是否连接到了互联网。如果没有连接,我想返回一个包含错误的假响应。

我以下面的解决方案结束,使用defer(),但我认为它可以更好,有什么提示吗?

代码语言:javascript
复制
private Observable<Response> checkNetwork(Observable<Response> retrofitService) {
        return Observable.defer(new Func0<Observable<Response>>() {
            @Override
            public Observable<Response> call() {
                if (!isOnline()) {
                    return Observable.just(Response.error(R.string.error_no_network_label)));
                }
                return retrofitService;
            }
        });
    }
EN

回答 1

Stack Overflow用户

发布于 2015-02-26 00:15:04

您可以像这里描述的那样实现改进的ErrorHandler:https://stackoverflow.com/a/21055979/2927901

然后处理doOnError方法或订阅者的onError方法中抛出的异常。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28722817

复制
相关文章

相似问题

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