問題タブ [rx-kotlin2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
rx-java2 - RxJava/RxKotlin: 1 つのソースが完了した場合 (すべてではない)、既に完了している CombineLatest
基本的に、私は2つFlowables F
あり、それらでG
使用したいのですが、完了した場合(まだ実行中であっても)combineLatest
、結合Flowable
されたものがすでに完了していることを望みます。F
G
これは、醜いソリューションで何を達成するかの例です。
それを拡張関数に抽出できます。
それを表現するより良い方法はありますか?
rx-java2 - Flowable をブロックする際に「onBackpressureLatest」を使用して中間メッセージを削除する
ブロッキング IO 呼び出し (HTTP 呼び出しなど) を行うチェーンがあります。ブロッキング呼び出しで値を消費し、中断せずに続行しますが、その間に積み重なったものはすべて破棄し、同じ方法で次の値を消費します。
次の例を検討してください。
単純な観点からは、 のようなものを出力することを期待します0, 10, 20, ...
が、 を出力し0, 1, 2, ...
ます。
私は何を間違っていますか?
編集:
debounce
受信ストリームを食い尽くすために素朴に追加することを考えました:
しかし、今、私はjava.lang.InterruptedException: sleep interrupted
.
編集:
動作しているように見えるのは次のとおりです。
出来上がりは期待通り0, 10, 20, ...
!!
それは正しい方法ですか?
throttleLast
Computation-Scheduler に切り替えることに注意しました。元のスケジューラに戻す方法はありますか?
編集:
私はまたjava.lang.InterruptedException: sleep interrupted
、その変種で時折得ます。