Rx java 如何在x秒后开始观察
在10秒后开始观察的最好方法是什么Rx java 如何在x秒后开始观察,rx-java,deferred,Rx Java,Deferred,在10秒后开始观察的最好方法是什么 Single<Boolean> init(); public void onStart() { init().subscribe(getMySubscriber()) } singleinit(); public void onStart(){ init().subscribe(getMySubscriber()) } 我想让实际的工作在订阅后10秒后开始。可观察。timer()是您需要的 Observable
Single<Boolean> init();
public void onStart() {
init().subscribe(getMySubscriber())
}
singleinit();
public void onStart(){
init().subscribe(getMySubscriber())
}
我想让实际的工作在订阅后10秒后开始。可观察。timer()
是您需要的
Observable
.timer(10L, TimeUnit.SECONDS)
.subscribe(aLong -> init());
使用
delaySubscription
延迟对现有源的订阅:
Single.just(1)
.delaySubscription(10, TimeUnit.SECONDS)
.subscribe(System.out::println);
如果您的init()
方法本身在返回单个之前有副作用,您可以使用Single.defer
对其进行包装,并且上述结构仍应有效:
Single.defer(() -> init())
.delaySubscription(10, TimeUnit.SECONDS)
.subscribe(System.out::println);