我正在使用Subscriber方法,正在获取一个Subscriber对象。 但是我需要的是其中的一个对象,这是一张图片-https://imgur.com/a/4DfsYZT 那我该怎么办呢?
我的服务内部方法:
getUserInfo(name: any): Observable <User> {
const url = `https://api.github.com/users/${name}`;
return this.http.get <User> (url);
}
我的组件内部有什么
public userInfo;
this.userInfo = this.githubService.getUserInfo(this.userLogin)
.subscribe(info => this.userInfo = info);
答案 0 :(得分:1)
您必须在订阅方法之外删除对userInfo
变量所做的赋值。
this.githubService.getUserInfo(this.userLogin)
.subscribe(info => this.userInfo = info);
答案 1 :(得分:0)
您必须使用映射功能映射您的响应。 public userInfo;
this.userInfo = this.githubService.getUserInfo(this.userLogin)
.map(response => response.json())
.subscribe(info => this.userInfo = info);
或
this.userInfo = this.githubService.getUserInfo(this.userLogin)
.map(response => response = response.userInfo)
.subscribe(info => this.userInfo = info);
答案 2 :(得分:0)
请勿将您的订阅分配给您的userInfo
,然后在您订阅时再次重新分配。
尝试:
public subscription;
public userInfo;
this.subscription = this.githubService.getUserInfo(this.userLogin)
.subscribe(info => this.userInfo = info);