2017-01-13 9 views
0

特定の時間枠内にN個の連続した等しいイベントから1つのイベントを取る演算子がありますか? 例:私はRxイベントバスを持っていますが、時には同じイベントを同じソースに送る複数のソースがあります。そのため、各イベントを処理する代わりに、そのうちの1つを処理して残りを無視します。RxJava特定の時間枠内の複数のイベントからサンプルを取り出す演算子

答えて

1

おそらくこれを行う最適な方法ではありませんが、一方的な方法が私の心に来ています。あなたのストリームを時間にカットすることができますウィンドウここで重複を取り除き、flatMapに転送します。

stream() 
    .window(500, TimeUnit.MILLISECONDS) 
    .flatMap(window -> window.distinct()) // you can alter the way you handle duplicates 
    .subscribe() 

カスタム1にこれら二つの演算子をラップすることができ、物事をブラッシュアップし、compose

を通してそれを適用するには
関連する問題