問題タブ [rx-java2]

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 投票する
2 に答える
313 参照

rx-java - OnErrorThrowable が rxjava 2 に見つからない

rxjava 1 を rxjava 2 にアップグレードしています。rxjava 1 には OnErrorThrowable がありますが、rxjava 2 にはありません。OnErrorThrowable を置き換えるには、次のコードで何ができますか?

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

java - Rxjava2 + Retrofit2 + Android. 何百ものネットワーク呼び出しを行う最良の方法

アプリがあります。ユーザーがすべてのデータを一度にクラウドに同期できるようにする大きなボタンがあります。すべてのデータを再度送信できるようにする再同期機能。(300以上のエントリー)

RXjava2 と retrofit2 を使用しています。単一の呼び出しで単体テストを実行しています。ただし、N 個のネットワーク呼び出しを行う必要があります。

私が避けたいのは、オブザーバブルがキュー内の次のアイテムを呼び出すことです。ランナブルを実装する必要があるところです。マップについては少し見たことがありますが、マップをキューとして使用している人は見たことがありません。また、Zip機能のように、1つのアイテムが失敗し、すべてのアイテムが失敗したと報告されることを避けたい. キューを追跡する厄介なマネージャー クラスを実行する必要がありますか? または、数百のアイテムを送信するためのよりクリーンな方法はありますか?

注: ソリューションは、JAVA8 / ラムダに依存することはできません。それは正当化されるよりもはるかに多くの作業であることが証明されています。

すべてのアイテムが同じオブジェクトであることに注意してください。

すべてのアイテムを収集して送信するヘルパー

私のレトロフィットのもの


アップデート。私はこの答えを運が悪いことに適用しようとしています。私は今夜​​のために蒸気を使い果たしています。1つのアイテムの元の呼び出しで行ったように、これを単体テストとして実装しようとしています..おそらくラムダの使用で何かが正しくないようです..

結果は..


編集。もうラムダを試していません。Mac でパスを設定した後でも、javahome が 1.8 を指すように設定した後でも、動作させることができませんでした。これがもっと新しいプロジェクトだったら、もっと頑張るだろう。ただし、これは Android を試している Web 開発者によって作成された継承された Android アプリケーションであるため、優れたオプションではありません。また、それを機能させるために時間を浪費する価値もありません。かかるはずだった半日ではなく、すでにこの割り当ての日々に入っています。

非ラムダ フラットマップの良い例が見つかりませんでした。私はそれを自分で試してみましたが、めちゃくちゃになりました。

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

rx-java2 - rxjava2 で常に Flowable を使用しない理由

rxJava2 では、Observable (背圧なし) と Flowable (背圧あり) が区別されます。https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0#when-to-use-observableは、オブザーバブルを使用するいくつかの理由を示していますが、私が見る限り、オブザーバブルの機能はフローラブルのものからのサブセット。

代わりにフロー可能なものを常に使用しない理由はありますか? おそらくオブザーバブルはより高速ですか?または、フロー可能オブジェクトではできないことをオブザーバブルで実行できますか?

0 投票する
2 に答える
3168 参照

filter - Observable のフィルターは Rxjava 2 の Function Boolean に適用できません

次のコードのフィルターは奇数を除外しようとしていますが、コードが不平を言っているため、コードをコンパイルできません

エラー:(114, 25) エラー: 互換性のない型: > 述語に変換できません

Func1 で rxjava 1 を使用していたときは問題ありませんでしたが、rxjava 2 で動作させるにはどうすればよいですか?

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

flatmap - flatmap 関数内のリストの変更中にサポートされていない例外が発生しました

RxJava2 で flatmap の「apply」メソッド内からリストを変更しようとすると、サポートされていない操作例外が発生します。

ただし、新しいリストを作成すると、上記のように正常に機能します。それについての洞察はありますか?

以下は私の Observable 作成ロジックです: