我有一个简单的可观察对象,用于从URL https://api.github.com/users
检索数据,我希望能够映射此数据,以便只能从每个用户返回login
属性包含在端点返回的数组中。
但是,当我尝试在地图函数上调用data => data.login
时,出现编译器错误,提示为Property 'login' does not exist on type {}
。我了解这是因为要返回的对象没有类型。
不为返回的对象创建接口,如何将any
类型应用于可观察对象暴露的对象,以便可以使用map
对其进行转换?
var githubStream = this.http.get('https://api.github.com/users');
githubStream.subscribe(out => {
pipe(map(data => data.login))
});
答案 0 :(得分:-1)
您可以添加any
来定义out
的类型
会是这样
var githubStream = this.http.get('https://api.github.com/users')
githubStream.subscribe((out: any) => {
pipe(map(data => data.login))
});
答案 1 :(得分:-1)
var githubStream = this.http.get<any>('https://api.github.com/users');
githubStream.subscribe(out => {
pipe(map(data => data.login))
});
已更新
protected getUsers<T>(url: string): Observable<T> {
return this.http.get<any>(url)
.pipe(map(data => {
return data.body
}));
}
this.getUsers.subscribe(data => {
console.log(data.login)
}