我有一个服务,它进行API调用,重新调用有效用户的集合。 下面给出的是来自服务和组件的代码片段。
在将响应映射到服务中定义的局部变量时,我得到的错误是 - > ValidUserCollection未定义
注意:我对服务的调用是成功的,我确实将响应状态设置为200和Ok:true。 当我将响应映射到服务中定义的局部变量时,似乎只有问题。
有关我可能遗失或做错的建议吗?
以下是我在服务中定义的方法的服务代码。
constructor(private http: Http){
this.ValidUsersCollection = [];
}
GetAllUsers(): Observable<User[]>
{
return this.http.get('http://localhost:8055/api/user/GetAllUsers/', { headers: this.getHeaders() })
.map(this.mapPersons)
}
mapPersons(response:Response): User[]
{
return response.json().map(this.ValidUsersCollection)
}
private getHeaders() {
let headers = new Headers();
headers.append('Accept', 'application/json');
return headers;
}
code from my component
this.userSrv.GetAllUsers()
.subscribe(allusers => this.allUsersCollection = allusers);
答案 0 :(得分:1)
尝试这样的事情:
let ValidUsersCollection : User[] = [];
constructor(private http: Http){}
GetAllUsers(): Observable<User[]> {
return this.http.get('http://localhost:8055/api/user/GetAllUsers/', { headers: this.getHeaders() })
.map(res =>{
return res.json().map(items => { this.ValidUsersCollection = items });
});
}