虽然我在 AngularJS 中使用 HTTP promise 对象,但我并不清楚 HTTP promise 对象到底是什么,以及 HTTP promise 对象和 AngularJS 中的传统对象有什么区别!
有人能解释一下吗?
最佳答案
Promise 是异步操作的概念。基本上,它代表一个对象,从现在到 future 的任何时候都可以使用。
它有三种状态:
- 待定
- Fulfilled(成功完成)
- 拒绝(失败)
您使用两种方法处理 Promise 的状态,then() 和 catch()。
如果成功,then() 会为您提供来自异步调用的预期对象,而 catch() 将允许您处理错误。
您可能会使用 Promise 的场景是在进行网络调用时,例如:
getData(): Promise<Array<string>> {
return this.http.get("http://a-test-api.com/api/getdata").toPromise();
}
然后你可以像这样使用它:
this.getData().then(function (stringArray) {
self.data = stringArray;
});
您可以在此处找到有关此概念的更多信息:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise
关于javascript - AngularJS 中的 HTTP promise 对象是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40705448/