如何在 x 秒后开始观察
how to start observable after x sec
让我们说 10 秒后开始观察的最佳方式是什么?
Single<Boolean> init();
public void onStart() {
init().subscribe(getMySubscriber())
}
我想在订阅 10 秒后启动 `init 中的实际工作。
Observable.timer()
就是您要找的
Observable
.timer(10L, TimeUnit.SECONDS)
.subscribe(aLong -> init());
使用delaySubscription
延迟对现有来源的订阅:
Single.just(1)
.delaySubscription(10, TimeUnit.SECONDS)
.subscribe(System.out::println);
如果您的 init()
方法本身在返回 Single 之前有副作用,您可以用 Single.defer
包装它并且上面的结构应该仍然有效:
Single.defer(() -> init())
.delaySubscription(10, TimeUnit.SECONDS)
.subscribe(System.out::println);
让我们说 10 秒后开始观察的最佳方式是什么?
Single<Boolean> init();
public void onStart() {
init().subscribe(getMySubscriber())
}
我想在订阅 10 秒后启动 `init 中的实际工作。
Observable.timer()
就是您要找的
Observable
.timer(10L, TimeUnit.SECONDS)
.subscribe(aLong -> init());
使用delaySubscription
延迟对现有来源的订阅:
Single.just(1)
.delaySubscription(10, TimeUnit.SECONDS)
.subscribe(System.out::println);
如果您的 init()
方法本身在返回 Single 之前有副作用,您可以用 Single.defer
包装它并且上面的结构应该仍然有效:
Single.defer(() -> init())
.delaySubscription(10, TimeUnit.SECONDS)
.subscribe(System.out::println);