2016-08-09 5 views
1

私はボタンの複数のクリックを防ぐためにしようと、私のAndroidアプリに次のコードを持っている:RxView.debounceはデバウンスが実行されるまで待ちますが、すぐにコマンドを実行するにはどうすればよいですか?

RxView.clicks(bSubmit) 
      .debounce(2500, TimeUnit.MILLISECONDS) 
      .observeOn(AndroidSchedulers.mainThread()) 
      .subscribe(c -> displayToast()); 

代わりにコードを実行し、その後に行動されることから、同じタイムスパンで複数のクリックを防止する、 このコードの動作は、デバウンスタイムスパンが経過した後にコマンドを実行することです。

私は何をしたいのですか?

+3

throtleFirst演算子をチェックしたい場合があります。 – dwursteisen

+0

チャームのように働いた!これを回答として投稿すれば、私はそれを受け入れるだろう。ありがとうございました! –

答えて

4

Reactivex.io documentationによると、debounceは、時間ウィンドウの間に最後のイベントを放出します。何をしたい

throttleFirstdocumentationを参照)ん何時間ウィンドウ、中に最初イベントを放出することです。

RxView.clicks(bSubmit) 
     .throttleFirst(2500, TimeUnit.MILLISECONDS) 
     .observeOn(AndroidSchedulers.mainThread()) 
     .subscribe(c -> displayToast()); 
関連する問題