我有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(),
);
}