我正在使用Retrofit调用网址,而我并不关心结果。反正有没有忽略onNext方法?
目前我正在使用:
getRetrofit().create(UserAPI.class)
.doSomething(a, b)
.subscribeOn(Schedulers.newThread())
.subscribe(t -> {}, Handler::handlerError);
正如您所看到的,t -> {}
什么都不做,我想减少它:
getRetrofit().create(UserAPI.class)
.doSomething(a, b)
.subscribeOn(Schedulers.newThread())
.subscribe(null, Handler::handlerError);
但得到错误
java.lang.IllegalArgumentException: onNext can not be null
答案 0 :(得分:4)
您可以从Observable
界面返回Completable,而不是Retrofit
。它完全符合您的需要。
答案 1 :(得分:0)
如果您想要进行错误处理,我也不认为在订阅observable时有一种方法可以避免onNext()
实现。或者,您可以创建Observer
并在subscribe
次调用中重复使用它,但仍需要实施onNext()
行为。
示例:
Observer errorObserver = Observers.create(t -> {}, Handler::handleError);
getRetrofit().create(UserAPI.class)
.doSomething(a, b)
.subscribeOn(Schedulers.newThread())
.subscribe(errorObserver);