0
Observableという時間間隔があり、1秒ごとにLong項目を放出するとします。どのように現在の排出数に関連してその期間を拡大するのですか?RxJavaより長い時間間隔の期間が現在の放射回数に依存する
たとえば、最初の4回の排出については1秒ごとに項目を放出する必要がありますが、その後は3秒ごとに項目を放出する必要がありますか?
これは可能ですか?
Observableという時間間隔があり、1秒ごとにLong項目を放出するとします。どのように現在の排出数に関連してその期間を拡大するのですか?RxJavaより長い時間間隔の期間が現在の放射回数に依存する
たとえば、最初の4回の排出については1秒ごとに項目を放出する必要がありますが、その後は3秒ごとに項目を放出する必要がありますか?
これは可能ですか?
排出量に応じて遅延間隔を設定するには、switchMap()
演算子を使用します。 switchMap()
は、その遅延units
の遅延を計算するために、発光番号が付与された機能、emissionDelay()
、によって設定される新たな観察を作成しながら
observable
.zipWith(Observable.range(20_000), new Pair<>(item, itemNumber))
.switchMap(pair -> Observable.just(pair.getFirst())
.delay(emissionDelay(pair.getSecond()), units)
...
zipWith()
オペレータは、その発光番号と対になった項目を生成します。