Pokaż komponent, resolvera czy cokolwiek gdzie to wykorzystujesz. Dwa - jeżeli chcesz zapiąć pod to paginacje, to oczywiście że Ci się zwiększy liczba requestow. No chyba, że wyciągniesz to wszystko jednym requestem i wtedy będziesz tylko slice'ował dane.
Ok, jeżeli nie możesz zmienić API i się jakoś musisz zmniejszyć liczbę requestów to albo jakiś operator typu retry
/ retryWithDelay
przy fetchowaniu danych, albo zmiana mechanizmu "klikania" na coś w stylu:
@ViewChild('buttonNext') nextPage: ELementRef<HTMLElement>;
componentDestroyed = new Subject();
afterViewInit() {
fromEvent(this.nextPage.nativeElement, 'click').pipe(
tap(_ => this.updateNextPage()), // zmiana page bez callu do API
debounceTime(200),
switchMap(_ => this.getAssets()),
takeUntil(this.componentDestroyed)
).subscribe()
}
Nie pokażę Ci jak wykorzystać retry
ale to spokojnie do wygooglowania jest. Nie wiem jakie ograniczenia ma to API, być może retryWithDelay
będzie lepszym rozwiązaniem.