我正在尝试弄清楚 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/