RxJava的 defer 操作符作以确保Observable代码在被订阅后才执行,而不是创建后立即执行
@Test
public void defer() {
Disposable disposable = Observable.defer(new Callable>() {
@Override
public ObservableSource> call() throws Exception {
return getRxJavaCreateExampleData();
}
})
.subscribeOn(Schedulers.io())
.unsubscribeOn(Schedulers.io())
.observeOn(Schedulers.io())
.subscribe(new Consumer