首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AngularJS $http.get与成功回调的区别

AngularJS $http.get与成功回调的区别
EN

Stack Overflow用户
提问于 2015-01-17 13:23:59
回答 3查看 5.6K关注 0票数 6

我想了解当通过http调用时,回调和成功回调之间的区别。当我使用然后回调时,它会返回数据,但是成功的回调不会。下面是代码

然后回调

代码语言:javascript
复制
$http.get(url).
  then(function(response) {
     response.data.data;});

成功回调

代码语言:javascript
复制
$http.get(url).
   success(function(response) {
     response.data;});
EN

回答 3

Stack Overflow用户

发布于 2015-01-17 13:36:38

你的问题似乎围绕着这一点:

$http.get(‘/偏词’)success(function(data,状态,标头,配置){

这与then的回报不同,

方法来注册回调,这些回调将收到一个参数--一个表示响应的对象。

换句话说,你应该这样做:

代码语言:javascript
复制
$http.get(...).success(function(data){ console.log(data) })
$http.get(...).then(function(response){ console.log(response.data) })

当然,链接的差异,但似乎与您的问题无关:

then()

如果您链接then(),回调将在每个调用完成后依次运行,因为它在每个链上返回一个新的允诺对象。

success() (与error()一起被废弃*)

如果您链接success()调用,回调将并行运行,因为它返回原始的承诺对象。

*successerror已不再推荐,参见$http文档中的弃用通知一节

票数 6
EN

Stack Overflow用户

发布于 2015-01-17 15:16:15

您可以使用任何.then或.success,回调代码取决于您使用的方法。

.then()将有两个参数,第一个是成功处理程序,第二个是内部的错误handler.success处理程序,那么()只能用其他方式编写,只有.success.the主要区别于.success ()和.success函数.success将有4个参数(数据、状态、标头、配置),其中作为成功处理程序,在该参数中只有一个参数(数据、状态、标头、配置),但您可以像(response.data、response.status等)一样访问它。

票数 0
EN

Stack Overflow用户

发布于 2015-10-09 17:38:56

angularjs.org的重要推荐

-- $http遗留承诺方法--成功和错误已被否决。使用标准,然后用方法代替。如果$httpProvider.useLegacyPromiseExtensions设置为false,则这些方法将引发$http/旧式错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27999899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档