[英]Transform http service response in Angular using rxjs
这是用例:
回复 :
[
{
"cuisp":"17296744",
"instr_type":"Common Stock (CS)",
"isConversion":"No",
"issue_date":"04/31/2020",
"rev_rule":"common equity tier 1",
"isCumulative":"Noncumulative",
"notional_amt":"8434.695",
"amt_transacted":"8434.695",
"isPerpetual":"Perpetual",
"isFixed":"Floating"
}, ...
]
现在我想向该响应中的每个对象添加isEditable : false
。 我试过下面的代码。
this._httpservice.getTemplateForVersion(this.selected_template).pipe(
concatMap((res: any) => {
return this._httpservice.getTemplateJsonData(res.id).pipe(
mergeAll(),
map((d: any) => {
d['isEditable'] = false;
return d;
})
);
})
).subscribe(res => {
console.log(res);
})
然而,它只是更新响应的第一个元素。 我需要最终回应
[
{
"cuisp":"17296744",
"instr_type":"Common Stock (CS)",
"isConversion":"No",
"issue_date":"04/31/2020",
"rev_rule":"common equity tier 1",
"isCumulative":"Noncumulative",
"notional_amt":"8434.695",
"amt_transacted":"8434.695",
"isPerpetual":"Perpetual",
"isFixed":"Floating",
"isEditable":false,
}, ...
]
提前致谢。
RxJs map操作符允许你修改流,但修改本身应该在函数内部完成:
map((d: any) => {
return d.map(item => ({...item, isEditable: false}));
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.