为了账号安全,请及时绑定邮箱和手机立即绑定

角赫特普罗:“成功”/“错误”方法与“那”论据的区别

角赫特普罗:“成功”/“错误”方法与“那”论据的区别

慕勒3428872 2019-07-16 15:38:32
角赫特普罗:“成功”/“错误”方法与“那”论据的区别根据安古拉JS医生,呼叫$http返回以下内容:返回承诺对象使用标准然后方法和两个特定于http的方法:成功和误差..这个然后方法使用两个参数成功和一个误差回调,它将使用响应对象调用。这个成功和误差方法采用单个参数-在请求成功或失败时将分别调用该函数。传递给这些函数的参数是传递给当时方法的响应对象的非结构化表示。除了response对象在一种情况下是非结构化的,我不知道的参数传递的成功/错误回调。promise.then类的参数传递给回调。promise.success/promise.error承诺的方法有吗?这两种不同的方式传递看似相同的回调有什么意义?
查看完整描述

3 回答

?
炎炎设计

TA贡献1808条经验 获得超4个赞

这个答案实际上是不正确的;正如下面的评论所指出的,成功()确实回报了最初的承诺。我不会改变,把它留给OP编辑。


两者的主要区别在于.then()调用返回承诺(通过回调返回的值解析).success()是注册回调的更传统的方式,不返回承诺。

基于承诺的回调(.then())使它更容易连锁承诺(做一个电话,解释结果和然后再打一次电话,解释结果,再打一次电话等等)。

这个.success()方法是一种简化、方便的方法,当您不需要链接调用或使用承诺API时(例如,在路由方面)。

简言之:

  • .then()

    -承诺API的全部功能,但稍微详细一些
  • .success()

    -不回承诺,但略带约束的语法


查看完整回答
反对 回复 2019-07-16
?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

这里已经有一些很好的答案了。但是,值得证明的是,提供的并行性的不同之处在于:

  • success()

    返回原来的承诺
  • then()

    回报一个新的承诺

区别是then()驱动顺序操作,因为每个调用都返回一个新的承诺。

$http.get(/*...*/).
  then(function seqFunc1(response){/*...*/}).
  then(function seqFunc2(response){/*...*/})
  1. $http.get()

  2. seqFunc1()

  3. seqFunc2()

success()驱动并行操作,因为处理程序是按照相同的承诺链接的。

$http(/*...*/).
  success(function parFunc1(data){/*...*/}).
  success(function parFunc2(data){/*...*/})
  1. $http.get()

  2. parFunc1()parFunc2()

    并行


查看完整回答
反对 回复 2019-07-16
?
料青山看我应如是

TA贡献1772条经验 获得超7个赞

一些简单GET请求的代码示例。也许这有助于理解不同之处。使用then:

$http.get('/someURL').then(function(response) {
    var data = response.data,
        status = response.status,
        header = response.header,
        config = response.config;
    // success handler}, function(response) {
    var data = response.data,
        status = response.status,
        header = response.header,
        config = response.config;
    // error handler});

使用success/error:

$http.get('/someURL').success(function(data, status, header, config) {
    // success handler}).error(function(data, status, header, config) {
    // error handler});



查看完整回答
反对 回复 2019-07-16
  • 3 回答
  • 0 关注
  • 336 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信