我的 http 响应有问题。我只是得到这样的回应:
{
objectArrayList1 : [{...}, {...}, {...}],
objectArrayList2 : [{...}, {...}, {...}],
.
.
.
}
我可以分别做 pluck('objectArrayList1') 和 pluck('objectArrayList2')。但是是否可以同时将 pluck 运算符(或运算符)应用于 objectArrayList1 和 objectArrayList2?例如在管道中;
.pipe(
pluck('objectArrayList1'),
*I would like to work with objectArrayList2 also*
)
试图得到这样的东西:
this.http.get<responseType>('https://myUrl/somethingtoask', {
params:{
x: '123',
y: '234',
...
}
}).pipe(
pluck('objectArrayList1'),
*I would like to work with objectArrayList2 also*
)
如何分别访问 objectArrayList1 和 objectArrayList2(最好在同一管道中)?
答案 0 :(得分:2)
pluck
运算符仅用于获取对象属性之一。相反,您可以将 map
运算符与对象 destructuring 一起使用以返回多个属性。
this.http.get<responseType>('https://myUrl/somethingtoask', {
params:{
x: '123',
y: '234',
...
}
}).pipe(
map(({ objectArrayList1, objectArrayList2 }) => ({ objectArrayList1, objectArrayList2 }))
).subscribe({
next: (response: any) => {
// use `response.objectArrayList1` and `response.objectArrayList2`
},
error: (error: any) => { }
});