javascript - AngularJS 中的 HTTP promise 对象是什么?

标签 javascript angularjs angular-promise angular-http

虽然我在 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/

相关文章:

javascript - 关于 JavaScript : how can i "reset" switch statement? 的问题

Javascript thead DOM 覆盖第一行数据

c# - 使用 ng-file 的 AngularJS HTTP POST

javascript - Jasmine spy On没有正确模拟功能

javascript - 如何动态创建一个简单的json数组?

angularjs - AngularJS promise 数组

javascript - 在 Angular JS 中第一次拒绝 promise 时停止/退出循环

javascript - 获取动画线的计算值

javascript - 探索 MooTools 中的实现/扩展

javascript - 如何在 Angular http请求的错误和成功回调之间共享变量