让所有 Observables 订阅并观察某事
Make All Observables subscribeon and observeon something
我正在我的 android 应用程序中使用改造和 rxjava 实现 http 请求。
我反复有这个块代码:
apiService.getFromServer()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
...
有没有办法不重复这个?
是的,您可以将 compose
运算符与 Transformer
对象一起使用,将输入 observable 转换为订阅 io 的 Observable
,mainThread 上的观察者(或您喜欢的任何其他转换当然)
<T> Transformer<T, T> applySchedulers() {
return new Transformer<T, T>() {
@Override
public Observable<T> call(Observable<T> observable) {
return observable.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
};
}
和您的代码:
apiService.getFromServer()
.compose(applySchedulers())
...
你可以阅读 Dan Lew's great post 相关内容。
我正在我的 android 应用程序中使用改造和 rxjava 实现 http 请求。 我反复有这个块代码:
apiService.getFromServer()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
...
有没有办法不重复这个?
是的,您可以将 compose
运算符与 Transformer
对象一起使用,将输入 observable 转换为订阅 io 的 Observable
,mainThread 上的观察者(或您喜欢的任何其他转换当然)
<T> Transformer<T, T> applySchedulers() {
return new Transformer<T, T>() {
@Override
public Observable<T> call(Observable<T> observable) {
return observable.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
};
}
和您的代码:
apiService.getFromServer()
.compose(applySchedulers())
...
你可以阅读 Dan Lew's great post 相关内容。