让All Observables订阅并观察某些东西

时间:2017-03-05 11:51:54

标签: android retrofit rx-java rx-android

我正在我的Android应用程序中使用retrofit和rxjava实现http请求。 我重复了这个区块代码:

apiService.getFromServer()
 .subscribeOn(Schedulers.io())
 .observeOn(AndroidSchedulers.mainThread())
 ...

有没有办法不重复这个?

1 个答案:

答案 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