問題タブ [switchmap]

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.

0 投票する
2 に答える
1925 参照

angular - angular async リロードスピナー

非同期パイプが null のときに読み込みスピナーを表示する簡単なセットアップがあります。

ただし、ユーザーがもう一度検索すると、loading.. が表示されません。null を発行してスピナーを再度表示するには、この searchResults$ オブザーバブルが必要か、別の isLoading 変数が必要だと思います。

それを行う最良の方法は何ですか?

問題がある場合は、debounce と switchMap を用意しました (つまり、ファイナライズなどを使用するのは難しい)

また、試し*ngIf="!isLoading && (searchResults$ | async) as searchResultsてみましたが、問題があることがわかりました。

0 投票する
1 に答える
474 参照

angular - RxJS 6 - Angular 7 - サブジェクトからの現在の http リクエストを適切にキャンセルする

こんにちは、サブジェクトのサブスクリプションと検索呼び出しに問題があります。現在の呼び出しを優先して、前の呼び出しをキャンセルしたい。以前のスレッドを検索しましたが、答えを見つけることができませんでした。

switchMap() を使用することになっていることはわかっていますが、うまくいきません。状態に関係なく、すべての通話を継続します。私が設定している応答を返さないという点で、私が物事を設定した方法に関係している可能性があると思います。したがって、単一の観察可能な参照はありません..?

すべての助けに感謝します!

以下のコードを参照してください。

検索を実行:

クイック検索サービス:

ありがとう

アップデート

私はまだこの質問に対する答えを見つけていません。ですので、書き直してみるつもりです。

これには5つの部分があります:

入力ボックスが変更されると、検索サービスがサブスクライブされている検索の実行が呼び出され、これは返されません