2017-09-04 1 views
0

Observableを持っていて、データベースを聴いていて、dbに追加されたときにアイテムを出します。このオブザーバブルを購読すると、すでに格納されているアイテムが1つずつdbで高速に出力されます。私の質問は、リストに一定の間隔(例えば100ミリ秒)で放出されたアイテムを収集し、より多く放出された場合には、全リストと別個のアイテムを放出する(またはいくつかの関数で戻る、doOnNextのように)間隔?RxJava 2:一定期間後に収集したアイテムのリストを表示します。

ありがとうございます!

答えて

5

あなたはbufferオペレータを探しています:

は、それが観測ソースから収集したアイテムのバッファを発する観察可能返します。 Observableは連結されたオーバーラップしないバッファを出力します。各バッファはtimespan引数で指定された固定期間です。 enter image description here

収集項目ごとに100ミリ放射する:

dbObservable 
    .buffer(100, TimeUnit.MILLISECONDS) 
    ... // here is your Lists 
+2

をええ、私は以前、この方法で探していたが、私のプロジェクトでのロジックが変更されていると私はもうこの質問のための答えを必要としません。あなたの時間と努力をありがとう! –

関連する問題