如何获取Rxjava中onError的响应

时间:2015-12-07 02:36:15

标签: android retrofit rx-java

我在我的项目中使用Retrofit 2.0和Observable接口以及Result包装器。 方法:

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返回Throwable。 我怎样才能得到答复?

1 个答案:

答案 0 :(得分:1)

我认为您可以将模型包装在内部将Observer声明更改为Observable<Response<CompanyModel>>并获取错误errorBody()

如需其他参考,您可以查看this github issue