問題タブ [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.
android - mergeDelayError のどの Completables がタイムアウト時に通知しなかったかを確認する方法
mergeDelayError()
このAndroid Kotlinコードには、タイムアウトのあるより大きなものにマージされたcompletablesのリストがあります。タイムアウトに達すると、java.util.concurrent.TimeoutException: The source did not signal an event for 250 milliseconds and has been terminated.
リスト上の小さな補完可能なもののどれが、何も通知/発行せずにタイムアウトに達したかをどのように確認できますか (実際のリストには 2 つ以上の BTW があります)。私の理想的な解決策は、そのような例外を次のようなものに置き換えるException: The following operations reached a timeout: Check initial settings, Check server
か、少なくともタイムアウトした各補完可能ファイルによって出力される特定のログ行です。
これを行う方法がわかりません。私の最初の推測では、「didEmit」フラグを各コンプリータブルに追加し、大きなコンプリータブルでタイムアウトに達したときにそれらを 1 つずつチェックするだけですが、それは私には悪い解決策のように思えます。
どんなアイデアでも大歓迎です。ありがとうございました。
kotlin - パブリッシュ サブジェクトのサブスクライバーが受け取るイベントの順序
複数のサブスクライバーを持つパブリッシュ サブジェクトがあります。
クラスは次のとおりです。
I call doSubscribe()
before I calldoPublish()
出力は次のとおりです。
上記のプログラムによると、最初のサブスクライバーが最初にイベントを受信し、次に 2 番目と 3 番目のイベントが受信されます。これは、サブスクリプションの順序とまったく同じです。
この実行順序は保証されていますか? これに関する関連ドキュメントが見つからないためです。
rx-java2 - Micronaut フィルターで外部サービスへのリクエストを実行し、それに応じてステータスを返すときに例外を処理する方法
したがって、私は rx-java/rx-kotlin をまったく初めて使用し、Micronaut で HTTP フィルターをどこに書き込むかまで聞いたことがありません ( https://docs.micronaut.io/latest/guide/index.html#私は通常の JAX-RS フィルターしか行ったことがないので、不意を突かれました。
それで試行錯誤を重ねた結果、これにたどり着きました。
コードは書き直されていますが、ポイントはまだ残っています。ここには改善の余地があります。
私がやりたいことは、例外処理を改善し、例外がスローされた場合 (によって呼び出されたリモート サービスにremoteClient
到達できない場合など) に 500 を返すことです。どうすればこれを達成できますか?他に何もありません次のオブザーバーの空のリストを返すために、上記のソリューション以外の方法で動作します。