У меня forkJoin
возвращает несколько массивов все с одинаковой подписью:
return forkJoin(this.appService.getData()).pipe(
map(response =>
response
.map(x => x.map(y => y.data.uploads))
.map(x => this.format(x)),
),
);
Я изменил свой код на это:
return forkJoin(this.appService.getData()).pipe(
map(response =>
response
.map(x => x.map(y => y.data.uploads))
.map(([x]) => [...x]) //produces only first array
.map(x => this.format(x)),
),
);
Но сейчас я получаю только первый массив. Есть идеи как починить? Мне нужно объединить все массивы в один, чтобы у моего this.format(x)
был только один массив для работы.
Мой getData()
выглядит так:
getData(): Observable<Array<AxiosResponse<MyType>>> {
//...
return range(1, end - start).pipe(
concatMap((i: number) =>
this.http.get<MyType>(
getUrl(getStartDate(i), getEndDate(i)),
),
),
toArray(),
);
}