我正在使用RxJava進行網絡調用,並且在每次請求之前我需要檢查網絡。 目前爲每個請求我這樣做。RxJava,在每個API調用之前進行網絡檢查的最佳方式
checkNetwork()
.andThen(netWorkCall())
.subscribe(new DisposableSubscriber<String>() {
@Override
public void onNext(String s) {
Log.d(TAG, "onNext: " + s);
}
@Override
public void onError(Throwable t) {
Log.d(TAG, "onError: " + t.getMessage());
}
@Override
public void onComplete() {
Log.d(TAG, "onComplete: ");
}
});
}
private Completable checkNetwork() {
return NetworkUtils.isConnected() ? Completable.complete() : Completable.error(new Throwable("Network Error"));
}
private Flowable<String> netWorkCall() {
return Flowable.just("Api response");
}
這是推薦的方式還是有沒有比這更好的方法?提前致謝!!
您爲什麼需要檢查網絡?如果沒有連接,就會出現錯誤,您可以在'onError' – Benjamin