我使用RxJava进行网络呼叫,在每次请求之前,我需要检查网络。 目前,对于每个请求,我都是这样做的。
lubridate
这是推荐的方式还是有比这更好的方法?在此先感谢!!
答案 0 :(得分:0)
通常您之前不检查网络。最好尝试发送呼叫并在请求失败时捕获错误。
在查询网络的存储库中,您可以为连接预先验证,并在网络连接失败时抛出异常。
这意味着:
networkCall()
.subscribe(
success -> { ... },
error -> { doSomethingWhenErrorHappened() }
);
private Flowable<String> netWorkCall() {
return networkAvailable() ? Flowable.just(...) : Flowable.error(...);
}
这就是它的方式。
您应该考虑使用Single
或Maybe
,因为网络请求通常只返回数据onec或错误。 Flowable旨在使用流。