Я пытаюсь получить значение изнутри наружу, затем использую обещание.
В моем контроллере у меня есть:
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 -> Неправильный ответ
Не могли бы вы помочь мне решить эту проблему?
Большое спасибо.