我正在尝试从内到外获取价值,然后使用诺言。
在我的控制器中,我有:
async Sample(userId: number)
{
let data = this.userService.getAffectedExpertisesPromise(userId);
await data.then((uri) =>
{
uri.forEach((exp: Expertise) =>
{
this.empList.push(exp.name);
});
})
return this.empList;
}
在 ngOnInit 上,我调用此函数:
this.Sample(25).then(item =>
{
item.forEach((expLibelle: String) =>
{
listExp.push(expLibelle);
});
console.log("------------------------ List Size Inside: " + listExp.length);
});
console.log("------------------------ List Size Outside : " + listExp.length);
在服务用户文件中,我具有:
getAffectedExpertisesPromise(id: number): Promise<any>
{
return this.http.get(`${this.baseUrl}/users/expertisesObj/${id}`).toPromise();
}
它产生:
------------------------外部列表大小:0
------------------------内部列表大小:3
如您所见:
then
中的大小为3->正确答案then
中的大小为0->错误的答案您能帮我解决这个问题吗?。
非常感谢。
答案 0 :(得分:1)
为什么不尝试使用XMLHttpRequest
。
var request = new XMLHttpRequest();
request.open('GET', 'http://localhost:6227/api/auth/users', false);
request.send(null);
HTH。