在我的Angular应用中是一个数组recordlist
。该数组包含其他对象数组。我现在想做的是在recordlist
数组中的每个嵌套元素上处理http.post(通过函数)。
this.recordlist
是一个Observable,可以正常工作,并在我的应用程序中显示为表格。
/**
*
*/
save() {
this.recordlist
.pipe(
mergeMap((response: any) => response.flat()),
map((response: any) => {
console.log('---', response);
return this.skaterService.setSkaterSeasonBestTimes(response);
})
)
.subscribe(
response => {},
error => {},
() => {
console.log('.....done');
}
);
}
/**
*
*/
setSkaterSeasonBestTimes(value: SkaterBesttime): Observable<any> {
return this.restService.post('/skater/besttimes', value).pipe(
map((response: any) => {
console.log('+++', response);
return new SkaterBesttime(response, true);
})
);
}
现在的问题是内部setSkaterSeasonBestTimes(...)
未被处理。我希望有人能给我有用的提示和解决方案。
答案 0 :(得分:2)
已更改保存方法:-
View
答案 1 :(得分:1)
您撤消了地图和mergeMap。
尝试一下:
/**
*
*/
save() {
this.recordlist
.pipe(
map((response: any) => response.flat()),
mergeMap((response: any) => {
console.log('---', response);
return this.skaterService.setSkaterSeasonBestTimes(response);
})
)
.subscribe(
response => {},
error => {},
() => {
console.log('.....done');
}
);
}
/**
*
*/
setSkaterSeasonBestTimes(value: SkaterBesttime): Observable<any> {
return this.restService.post('/skater/besttimes', value).pipe(
map((response: any) => {
console.log('+++', response);
return new SkaterBesttime(response, true);
})
);
}
mergeMap需要返回一个Observable