問題タブ [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.

0 投票する
1 に答える
118 参照

rx-java2 - RxJava/RxKotlin: 1 つのソースが完了した場合 (すべてではない)、既に完了している CombineLatest

基本的に、私は2つFlowables Fあり、それらでG使用したいのですが、完了した場合(まだ実行中であっても)combineLatest、結合Flowableされたものがすでに完了していることを望みます。FG

これは、醜いソリューションで何を達成するかの例です。

それを拡張関数に抽出できます。

それを表現するより良い方法はありますか?

0 投票する
1 に答える
75 参照

rx-java2 - Flowable をブロックする際に「onBackpressureLatest」を使用して中間メッセージを削除する

ブロッキング IO 呼び出し (HTTP 呼び出しなど) を行うチェーンがあります。ブロッキング呼び出しで値を消費し、中断せずに続行しますが、その間に積み重なったものはすべて破棄し、同じ方法で次の値を消費します。

次の例を検討してください。

単純な観点からは、 のようなものを出力することを期待します0, 10, 20, ...が、 を出力し0, 1, 2, ...ます。

私は何を間違っていますか?

編集:

debounce受信ストリームを食い尽くすために素朴に追加することを考えました:

しかし、今、私はjava.lang.InterruptedException: sleep interrupted.

編集:

動作しているように見えるのは次のとおりです。

出来上がりは期待通り0, 10, 20, ...!!

それは正しい方法ですか?

throttleLastComputation-Scheduler に切り替えることに注意しました。元のスケジューラに戻す方法はありますか?

編集:

私はまたjava.lang.InterruptedException: sleep interrupted、その変種で時折得ます。