问题描述
Api响应(json)-
{
"count": 1050,"next": "....","prevIoUs": null,"results": [
{
"name": "Test1","url": "https://test/1/"
},{
"name": "Test2","url": "https://test/2/"
}
]
}
接口:
export interface ITestModel{
name: string;
url: string;
}
服务:
getData(): Observable<ITestModel[]> {
return this.http.get<ITestModel[]>(this.apiUrl).pipe(
map((res) =>
res.map((data) => ({
name: data.name,url: data.url
}))
)
);
}
core.js:4352错误TypeError:res.map不是MapSubscriber.project的函数(test.service.ts:19)
期望:
[ { “ name”:“ Test1”, “ url”:“ https:// test / 1 /” }, { “ name”:“ Test2”, “ url”:“ https:// test / 2 /” } ]
谢谢!
解决方法
尝试一下:
getData(): Observable<ITestModel[]> {
return this.http.get<any>(this.apiUrl).pipe(
map((res) =>
res.results.map((data) => {
return {
name: data.name,url: data.url
};
});
)
);
}