के साथ कोई नेटवर्क संभालने का उचित तरीका मैं यह जांचना चाहता हूं कि मोबाइल मेरी आरएक्स रेट्रोफिट सेवा का आह्वान करने से पहले इंटरनेट से कनेक्ट है या नहीं। अगर कनेक्ट नहीं है तो मैं एक नकली प्रतिक्रिया वापस करना चाहता हूं जिसमें एक त्रुटि है।रेट्रोफिट और आरएक्स-जावा
मैं डिफर() का उपयोग करके नीचे दिए गए समाधान के साथ समाप्त हुआ, लेकिन मुझे लगता है कि यह बेहतर हो सकता है, कोई संकेत?
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;
}
});
}