【发布时间】:2015-04-27 16:06:15
【问题描述】:
我想在调用我的 rx 改造服务之前检查手机是否连接到互联网。如果未连接,我想返回一个包含错误的虚假响应。
我以下面的解决方案结束,使用 defer(),但我认为它可以更好,有什么提示吗?
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;
}
});
}
【问题讨论】: