問題タブ [rx-java]
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-java - onError の処理と処理の継続に関するベスト プラクティス
私はRxJavaを初めて使用しますが、RxJavaの学習を支援するために取り組んでいるプロジェクトに統合しています。ベスト プラクティスに関する質問がありました。
onError
処理が停止しない場合の対処法について質問がありObservable
ます。
セットアップは次のとおりです。
2 つ以上のネットワーク リクエストを実行したいユーザー ID のリストがあります。ユーザー ID に対するネットワーク要求のいずれかが失敗した場合、そのユーザー ID は更新されず、スキップできます。これにより、他のユーザー ID の処理が妨げられることはありません。解決策はありますが、サブスクライブがネストされています (2 番目のコード ブロックを参照)。私が見ている 1 つの問題は、各呼び出しが失敗した場合、特定のしきい値数が失敗したことを検出した後でも、残りの呼び出しがネットワーク リソースにヒットするのを短絡して停止する方法がないことです。
これを行うより良い方法はありますか?
従来のコードでは:
問題:
擬似コード:
以下は、userIds のリストと、2 つの情報要求ごとの実際の例です。実行すると、失敗することがわかります(ソースコードの下を参照)
出力:
ネストされたサブスクライブ ソリューション:
出力:
ご覧のとおり、失敗した個々のユーザー ID のみが個々の処理を停止しましたが、残りのユーザー ID は処理されました。
アドバイスを探しているだけで、この解決策が理にかなっているかどうか、そうでない場合はベストプラクティスが何であるかを確認してください.
ありがとう、アレックス
rx-java - RxJava による透過的な認証トークンの更新
リクエストを行う前に、必要に応じてユーザーを再承認する Observable を使用して、Java アプリで認証された呼び出しをラップしようとしています。Shape Code Blogのこのアプローチを使用して、Objective-C の ReactiveCocoa で同様のことを行いました。
RACSignal は、Observable に類似した ReactiveCocoa です。このメソッドは、最初のリクエストによって通知されたエラーをキャッチする RACSignal を作成し、そのエラーが指定された基準に一致する場合 (この場合、アクセスが拒否され、利用可能な認証トークンがある場合)、新しい RACSignal が透過的に起動され、更新トークンが使用されます。元の信号を再送信します。
RxJava は同様の機能を提供しますか? Combining Observablesのドキュメントcatch:
に似たものは見つかりませんでした。
java - ポーリングのために異なるストリームからオブザーバブルを蓄積する
サーバー呼び出しから Observables を蓄積してから、それらをフラットマップして別のサーバー呼び出しを作成しようとしています。
Observable の蓄積 (「追加」) はどのように達成できますか?
scala - RxScala の FRP からのイベントと動作の対応する概念は何ですか?
RxScala の Scaladocを見ると、 Signal、Event 、および Behaviorの概念をFRP から RxScalaにマッピングする方法が明確ではありません。
私も Coursera Reactive コースを受講しましたが、FRP ( Conal Elliottが説明) と RxScala の関係は説明されていませんでした。私の漠然とした感覚では、RxScala の Observables は FRP の Behaviors/Signals に対応していますが、よくわかりません。
Conal の FRP (シグナル、シグナル トランスフォーマー、イベント、動作) の概念を、RxScala で定義されている概念/クラス (Future/Observable/Scheduler/Subject) にマッピングする方法を誰か説明してもらえますか?
rx-java - RxJava を使用して非同期 REST API を構築する
API の非同期サポートを構築するために RxJava を検討しています。現在、jetty + JAX-RS @Path アノテーションを使用していますが、着信 REST API 呼び出しを RxJava API に結び付ける正しいアプローチが何であるかはわかりません。
基本的にこれは、DB からの応答の準備が整うまで、要求スレッドを解放するというコンテキストにあります。
Vert.x を見ましたが、それには Java 7 が必要で、現在は Java 6 に縛られています。
上記に関する提案を探しています。着信 http 要求を RxJava API に結び付けるために取る典型的なアプローチは何ですか。