2017-06-05 15 views
0

10秒後に観測を開始するにはどうすればよいですか?x秒後に観測を開始する方法

Single<Boolean> init(); 

public void onStart() { 
    init().subscribe(getMySubscriber()) 
} 

実際には、「init」のサブスクリプションから10秒後に開始するようにしたいと考えています。

答えて

1

使用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); 
0

Observable.timer()では、既存のソースにサブスクリプションを遅らせる

Observable 
      .timer(10L, TimeUnit.SECONDS) 
      .subscribe(aLong -> init());