如何在 Rxjava 中获取 onError 的响应

How to get response on onError inside Rxjava

我在带有 Observable 接口和结果包装器的项目中使用 Retrofit 2.0。 方法:

Observable<CompanyModel> companyList(@Query("userAcc") String userAcc,
                                     @Query("password") String password);

代码:

RetrofitHelper.getCompanyList(userName, password).subscribe(new Observer<CompanyModel>() {
        @Override
        public void onCompleted() {
            System.out.println("Observable completed");
        }

        @Override
        public void onError(Throwable e) {
            System.out.println("Observable error");
        }

        @Override
        public void onNext(CompanyModel companyModel) {
            List<Company> company = companyModel.getCompany();
            System.out.println("Observable next");
        }
    });

我想在错误发生时得到响应,但是onError return Throwable。 我怎样才能得到回应?

我认为您可以将模型包装在 Response 中,将 Observer 声明更改为 Observable<Response<CompanyModel>> 并得到错误 errorBody()

您可以查看 this github issue

作为另一个参考