0

私はgetList()関数を持っていますSearchService

  public getList() {
    // http post call as an observable
    // pipe with a few map transformations
  }

私の場合、ListComponent次のように Observable を作成します。

 ngOnInit(): void {
    list$ = searchService.getList();    
  }

テンプレートでは、非同期パイプを介してオブザーバブルにサブスクライブします。

<ng-container *ngIf="list$ | async as list; else showSpinner">
   <!-- content -->
</ng-container>

そして、これは私がlist$オブザーバブルをサブスクライブする唯一の場所ですが、開発ツールをチェックすると、2 つのリクエストが表示 されます。ここに画像の説明を入力

私が試したこと:

  1. StackOverflow で同様の質問をいくつか見ましたが、問題を解決する答えはありませんでした。

  2. 追加ChangeDetectionStrategy.OnPushもうまくいきませんでした。

  3. さまざまなメソッドをパイプしてgetlist()機能させようとしましたが、役に立ちませんでした:

share, shareReplay, publishReplay, refCount, delay, debounceTime, distinctUntilChanged, . take_ firstオブザーバブルでもこれらの方法を試しましたlist$が、結果は同じです。

ここで何が欠けていますか?

4

1 に答える 1