Я пытаюсь прочитать данные с конечной точки REST.После прочтения данных и я хочу построить список экземпляров и вернуть список.
Но поскольку функция HTTP
GET
возвращает метод Observable
, всегда возвращается и очищается список перед построением его из ответа.
Вот мой код:
public getUsers() {
let responseValue = this.http.get(this.utils.provideserviceURL('http://test.com/users'));
responseValue.toPromise()
.then(result => {
let usersList: User[] = [];
let jsonResult = result.json();
for (let temp of jsonResult) {
let tempUser = new User(jsonResult.id, jsonResult.username, jsonResult.password, jsonResult.firstName, jsonResult.lastName);
usersList.push(tempUser);
}
console.log(usersList);
return usersList;
})
.catch(err => {
// Error while fetching Users
console.log('Error');
});
}
Здесь функция возвращает undefined
и затем печатает консоль с правильными данными.
Я не полностью осведомлен о правильном способе использования toPromise()
.Пожалуйста, укажите мне на пост, если он уже обсуждался, и сделайте этот вопрос дубликатом.