問題タブ [rxjs-observables]
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.
node.js - PatientAllergies オブザーバブルをサブスクライブすると、次のエラーが表示されるのはなぜですか?
Patient-allergies.component.ts で追加ボタンを選択し、患者のアレルギーを追加するためのオプションを選択して [保存] をクリックすると、次のエラーが表示されます。
エラー エラー: '[オブジェクト オブジェクト]' の比較中にエラーが発生しました。配列とイテラブルのみが許可されます。
オブジェクトが rest-api.service.ts から _patientAllergies.next() を介して渡されるときにオブジェクトを配列にキャストすると、このエラーが発生する理由がわかりません。
患者アレルギー.component.html
患者アレルギー.component.ts
残り-api.service.ts
angular - RxJS: 複数回呼び出された可能性のある関数から単一の API リクエストを作成する
コンポーネントコントローラー:
分割画面サービス:
上記のように、カスタムの「デバウンス」機能を持つサービス関数をコンポーネントから呼び出して、最後の呼び出しから 500 ミリ秒以内に関数が再度呼び出されない場合にのみ API 要求が発生するようにしています。500 ミリ秒以内の呼び出しは、以前にセットアップされたデバウンス機能をキャンセルして API 要求を行い、API 要求を待機して呼び出すためのタイムアウト機能を再度セットアップします。これにより、API が 1 回だけ呼び出されるようになります。
しかし、API リクエストのオブザーバブルをコンポーネント コントローラーに戻したい場合、カスタム デバウンス/タイムアウト関数自体からそれを返す方法の問題に直面しています。目標は、サブスクライバーが 1 つの結果しか受信しないようにするだけでなく、以前の呼び出しがキャンセルされる (またはまったく行われない) ように、呼び出しをデバウンスすることです。
angular - サブスクリプションのコードが終了した後に Rxjs をファイナライズする
私は Angular アプリケーション (9) を持っており、残りの計算操作を要求する複数のコンポーネントがあり、結果をさまざまなエディターに表示します。リクエストを行う前にローディング パネルを呼び出し、リクエストが終了した後、ファイナライズ コールバックでローディング パネルを非表示にします。このようなもの:
すべてのエディター値が設定される前に、読み込みパネルが消えるようになりました。リクエストが終了した場合、ファイナライズ コールバックは直接呼び出されますが、サブスクライブまたはエラー内のコードが終了した場合、ファイナライズのようなものを呼び出す方法はありますか?