使用Retrofit和RX-java处理没有networking的正确方法

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

我用下面的解决scheme结束,使用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; } }); } 

Solutions Collecting From Web of "使用Retrofit和RX-java处理没有networking的正确方法"