javascript - Angular JS $http.success() vs $q.resolve()?

标签 javascript angularjs

我正在尝试弄清楚 promise ...相比之下,简单地发出 $http 请求然后根据成功 (.success()) 和失败 (.fail()) 采取行动之间有什么区别与 q.resolve() 的 promise (q = $q.defer())?

最佳答案

$http 本身使用 $q。这两种服务不在同一级别运行。

$http.get(url) 返回可以解决或拒绝的 promise 。这意味着您正在使用由服务 ($http) 提供的 promise 。在内部,$http 将调用 $q.defer(),然后是 $q.resolve()$q.reject( )。这将调用您的 .success().fail() 方法。

$q 是一种创建您自己的 promise 的服务。

使用 $q 是了解 promise 的好方法,但在您的情况下,$http 已经为您完成了这项工作。

关于javascript - Angular JS $http.success() vs $q.resolve()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31193217/

相关文章:

javascript - 当条件满足时如何完成函数?

javascript - 坚持将二进制数据更改为 base64 (Gridfs-stream)

javascript - 如何在node.js中使用多语言邮件模板?

angularjs - 单元测试中的bindToController

javascript - 关闭事件后的 Angular ui 模态

http - 如何在angularjs中将参数传递给$http?

javascript - 使用 express 和 multer 上传文件后如何下载?

javascript - 在 Ajax 中使用语法荧光笔 - html 和 python 画笔

javascript - 侧边栏推送不起作用

javascript - 如何在页面加载 Angular JS 时设置 ajax 调用的选定选项?