0

10 個の項目で作成された Observable があり、そのうちの 3 個がタイムアウトのしきい値を超えている場合、完了したすべての項目と完了しなかった項目が完全なレポートのために分割された最終結果をどのように生成できますか。

次の Groovy コードは、15 秒間の非アクティブのタイムアウトを適用することで機能しますが、完了した作業のデータのみが含まれており、不足しているアイテムのステータスに関する情報はありません。

getListOfReports ()
.flatMap { report -> getReport_Async (report) }
.timeout (15, SECONDS)
.onErrorResumeNext (Observable.empty ())

関数 getListOfReports は Observable を返します (同期 - データベースから)。関数 getReport_Async は、Observable (複数のデータベースからの非同期 SQL) を返します。

2 番目のサブスクリプションを保持するサブジェクトが関与し、タイムアウト イベントの後に何らかの形で異なる操作を生成すると思われます。私は副作用を伴う極端な手段に行かずにこれを解決するのに苦労しています.

4

1 に答える 1