У меня есть API, который дает данные частично (по страницам).Я получаю количество страниц по первому запросу.
На клиенте мне нужно объединить страницы в одну Observable.Попробуйте что-то вроде этого:
all$: Observable<Service[]>;
iterator$ = new BehaviorSubject(1);
constructor(public http: HttpClient) {
this.all$ = this.iterator$.pipe(
concatMap(page => http.get<Service[]>('/service', {params: {page: page.toString()}}).pipe(
tap(() => (ifNotLastPage) ? this.iterator$.next(++page) : null),
)),
);
}
и получите только последнюю страницу