問題タブ [rx-groovy]
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.
groovy - リアクティブプログラミングによるビルダーパターン
リアクティブ プログラミング (RxGroovy) を使用して、プロパティ値がデータベース クエリから取得されるビルダー パターンを使用してオブジェクトを作成しようとしています。まず、どうやってそれを行うか、そして次に、それが良いアイデアかどうかについての考えを探しています。
作成しようとしているオブジェクトは次のタイプです。
そしてビルダー:
すべての Foo オブジェクトの名前を返すクエリと、関連するすべての ID を取得するために Foo オブジェクトごとに 1 回実行する別のクエリの 2 つのクエリがあります。
queryAsObservable
クエリを実行し、結果セットの各行を発行する Observable を取得するためのメソッド (それを呼び出す) が既にあります。を設定すると、次のname
ようになります。
を指定するFooBuilder
と、次のように relatedIds を設定できます。
私の問題は、2つを結び付ける方法ですか?FooBuilder
示されているように、最初のオブザーバブルによって発行されたそれぞれについて、関連する ID を設定するためにオブザーバブルを作成するにはどうすればよいですか? 最後に、すべてのFooBuilder
オブジェクトを取得し、 プロパティname
とrelatedIds
プロパティをすべて設定する必要があります。
JOINに関する注意
JOIN を使用して、関連する ID と名前をすべて 1 つのクエリで取得できることを知っています。私の考えでは、すべての結果が到着するのを待ってからオブジェクトを順番に構築するのではなく、並行して実行される多くの小さなクエリを使用し、Observable ストリームを使用して結果が利用可能になるたびに各結果の作業を行うことができます。なぜそれが良いアイデアなのか悪いアイデアなのかについて、私は自由に考えています。
rx-groovy - タイムアウト後に不足している Observable 情報を取得する方法
10 個の項目で作成された Observable があり、そのうちの 3 個がタイムアウトのしきい値を超えている場合、完了したすべての項目と完了しなかった項目が完全なレポートのために分割された最終結果をどのように生成できますか。
次の Groovy コードは、15 秒間の非アクティブのタイムアウトを適用することで機能しますが、完了した作業のデータのみが含まれており、不足しているアイテムのステータスに関する情報はありません。
関数 getListOfReports は Observable を返します (同期 - データベースから)。関数 getReport_Async は、Observable (複数のデータベースからの非同期 SQL) を返します。
2 番目のサブスクリプションを保持するサブジェクトが関与し、タイムアウト イベントの後に何らかの形で異なる操作を生成すると思われます。私は副作用を伴う極端な手段に行かずにこれを解決するのに苦労しています.
groovy - RxGroovy でリアクティブ .groupBy を使用するにはどうすればよいですか
RxGroovy に次のコードがあります。
の型num
はのObservable<Integer>
代わりに ですInteger
。その理由は、デフォルト.groupBy
で存在するためだと思います。RxGroovy で引き続きリアクティブ メソッドを使用するにはどうすればよいですか?Groovy
.groupBy