Angular 如何使用rxjs映射挖掘HttpClient获取请求响应?
我正在设置一个角度服务,它向SWAPI发出get请求。 我想将响应映射为只订阅我感兴趣的部分(在我的例子中:行星) 问题相当简单:我有一个错误“TS2339:类型“Object”上不存在属性“results” 有人知道我在这里没有得到什么吗 非常感谢Angular 如何使用rxjs映射挖掘HttpClient获取请求响应?,angular,Angular,我正在设置一个角度服务,它向SWAPI发出get请求。 我想将响应映射为只订阅我感兴趣的部分(在我的例子中:行星) 问题相当简单:我有一个错误“TS2339:类型“Object”上不存在属性“results” 有人知道我在这里没有得到什么吗 非常感谢 export class PlanetsService { private apiUrl = 'https://swapi.co/api/planets/'; constructor(private http: HttpClient) {
export class PlanetsService {
private apiUrl = 'https://swapi.co/api/planets/';
constructor(private http: HttpClient) { }
allPlanets(): Observable<Planet[]> {
return this.http.get(this.apiUrl)
.pipe(
map(res => res.results)
);
}
}
导出类飞机服务{
私人apiUrl服务器https://swapi.co/api/planets/';
构造函数(私有http:HttpClient){}
所有行星():可见{
返回this.http.get(this.apirl)
.烟斗(
映射(res=>res.results)
);
}
}
使用泛型。甚至像
return this.http.get<any>(this.apiUrl)
返回this.http.get(this.apirl)
使用泛型。甚至像
return this.http.get<any>(this.apiUrl)
返回this.http.get(this.apirl)
您应该订阅由allPlanets
返回的可观测数据,以实际发送请求。之后,我建议您删除map操作符一段时间,并使用subscribe记录请求的结果,以检查它的外观以及它是否真的具有results
属性。谢谢!它确实有一个results属性。我认为mbojko找到了答案。你应该订阅allPlanets
返回的可观测数据,才能真正发送请求。之后,我建议您删除map操作符一段时间,并使用subscribe记录请求的结果,以检查它的外观以及它是否真的具有results
属性。谢谢!它确实有一个results属性。我想姆博伊科找到了答案。