我正在我的Android应用程序中使用retrofit和rxjava实现http请求。 我重复了这个区块代码:
apiService.getFromServer()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
...
有没有办法不重复这个?
答案 0 :(得分:6)
是的,您可以将#include <string>
#include <array>
int main() {
std::array<std::string, 100> license_plates;
// ...
}
运算符与compose
对象一起使用,该对象将输入observable转换为在io上订阅的Transformer
,在mainThread上的观察者(或者您喜欢的任何其他转换) )
Observable
和你的代码:
<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());
}
};
}
您可以阅读Dan Lew's great post。