package ren.qinc.markdowneditors.utils; import rx.Observable; import rx.android.schedulers.AndroidSchedulers; import rx.schedulers.Schedulers; /** * Rx工具类 * Created by 沈钦赐 on 16/1/26. */ public class RxUtils { public static Observable.Transformer transformer; @SuppressWarnings("unchecked") public static <T> Observable.Transformer<T, T> applySchedulersIoAndMainThread() { return (Observable.Transformer<T, T>) getScheduler(); } @SuppressWarnings("unchecked") private static <T> Observable.Transformer<T, T> getScheduler() { if (transformer == null) { Observable.Transformer<T, T> ttTransformer = observable -> observable.subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); transformer = ttTransformer; return ttTransformer; } else { return transformer; } } }