【发布时间】:2017-07-05 03:38:24
【问题描述】:
我是 Angular 新手,关注 this tutorial 学习基础知识。考虑以下 http get 调用。
getHeroes(): Promise<Hero[]> {
return this.http.get(this.heroesUrl)
.toPromise()
.then(response => response.json().data as Hero[])
.catch(this.handleError);
}
在将 observable 转换为 Promise 后,如何使用 then() 子句中的函数真正利用响应(例如控制台日志、解析和访问响应元素等)?
我尝试了以下操作,即使它记录了响应,我也无法真正访问响应对象中的任何内容。
this.http.get(url, {headers : this.headers})
.toPromise()
.then(function(res) {
console.log(res);
return res => res.json().data as Query[];
})
.catch(this.handleError);
任何帮助将不胜感激。谢谢。
【问题讨论】:
-
您需要从响应中访问什么,您能否更详细地描述它。我建议使用 Observables 而不是 Promise。 Observables 可以被取消等。看看这篇文章然后决定:stackoverflow.com/questions/37364973/…
-
谢谢。假设这调用了一个返回用户对象的 Web 服务,我想从响应中获取名称。
-
您在
response中得到了什么,您可以将其粘贴到问题中吗?
标签: javascript http angular promise