我正在使用Retofit2和RxJava2从API获取数据。我正在使用以下代码
Observable<Recipe> recipeObservable = getDataManager().getRecipes(String.valueOf(page));
recipeObservable.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<Recipe>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
@Override
public void onNext(@NonNull Recipe recipe) {
getMvpView().updateRecipeList(recipe.getResults());
++page;
//getMvpView().hideLoading();
}
@Override
public void onError(@NonNull Throwable e) {
if (e instanceof HttpException)
Timber.d("Network Error");
}
@Override
public void onComplete() {
}
});
但是问题是
Timber.d("Network Error");
永远不会执行。我浏览了各种网站,但无法解决问题。我习惯于Retrofit2
,但对RxJava2
不满意。所以请帮忙。如果需要更多信息,请询问,我将其发布。 最佳答案
HttpException与网络故障无关。 IOException是您想要的。
关于android - Retrofit2和RxJava2:如何检测网络错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44919094/