rxjava 라인 전환 중복 코드 피하기

1307 단어
.subscribeOn(Schedulers.io())
.unsubscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(subscriber);

매번 스레드를 전환하는 조작
 
패키지 변환 작업
Observable.Transformer schedulersTransformer() {
        return new Observable.Transformer() {
            @Override
            public Object call(Object observable) {
                return ((Observable)  observable).subscribeOn(Schedulers.io())
                        .unsubscribeOn(Schedulers.io())
                        .observeOn(AndroidSchedulers.mainThread());
            }
        };
    }

사용할 때
RetrofitClient.singletonDemoService("http://api/data/")
.requestNet("xx","1")
.compose(schedulersTransformer())
.subscribe(subscriber);

물결

좋은 웹페이지 즐겨찾기