Моя проблема очень похожа на эту .
В foo.component.html
:
<ng-container *ngFor="let item of items">
<ng-container *ngIf="(fooFunc(item.property) | async) as element">
{{ element | json }}
</ng-container>
</ng-container>
В foo.component.ts
:
fooFunc(foo: any) {
return this.fooService.fooServiceFunc(foo).pipe(
take(1),
shareReplay(1)
);
}
fooServiceFunc
в fooService
вернет только один Observable
за один раз.
Моя проблема в том, что теперь мое приложение запускает бесконечные запросы (после того, как весь массив items
будет повторен, он будет запускать запрос снова с начала, снова и снова), что является побочным эффектом async
труба, которая объявлена в этот ответ . Но я все еще не могу понять, как это исправить?