2017-01-24 4 views
1

flatMapFirstの演算子を実装する方法は、flatMapのようになりますが、前のものが終了した場合のみ新しい観測値を追加しますか?以前のものがまだ実行されている場合は、新しいobservableを無視します。どのようにRxJava 2でそれを実装するには?flatMapFirst:前のものが終了した場合にのみ新しい観測値を追加するflatMap

すでにベーコンに存在します。 - flatMapFirst kefir - flatMapFirstにあります。

source.onBackpressureLatest().flatMap(function, 1) 

FlatMapが一度に1つの内部ソースを実行するとonBackpressureLatestは、外側のソース値を落としていきます(除く:

enter image description here

答えて

3

新しいオペレータが、既存のものの組み合わせを必要としませんflatMapが1つの内部ソースを実行している間は、要求がない場合は最新のもの)。

ソースから最新のものを入手したくない場合は、代わりにonBackpressureDropを使用することを検討してください。

+0

onBackpressureLatest()ではなくonBackpressureDrop()で動作するようです。 onBackpressureDrop()は正しいですか? –

+0

私はそれをonBackpressureDrop()に修正するつもりです。間違いであれば修正してください。 –

+0

意味が異なります: 'onBackpressureDrop'では、何らかの理由でソースが何らかの理由で一時停止した場合、バースト。 – akarnokd

関連する問題