当前位置: 首页 > 面试题库 >

Angular HttpPromise:`success` /`error`方法和`then`的参数之间的区别

宁侯林
2023-03-14
问题内容

根据AngularJS doc,调用$http返回以下内容:

返回带有标准 then* 方法和两个http特定方法的 promise 对象: successerror 。所述
然后 方法有两个参数一 成功 以及 错误 回调将与响应对象被调用。的 成功错误 的方法采取一个参数-
一当请求成功或失败分别将被调用的函数。传递给这些函数的参数是传递给then方法的响应对象的结构化表示。

*

除了response在一种情况下对象被破坏的事实之外,我没有得到

  • 成功/错误回调作为参数传递 promise.then
  • 回调作为promise 的promise.success/ promise.error方法的参数传递

有没有?传递看似相同的回调的这两种不同方式的意义何在?


问题答案:

注意: 这个答案实际上是不正确的。正如下面的评论所指出的那样, success()确实返回了原始的诺言。 我不会改变 并留给OP进行编辑。

两者之间的主要区别在于,.then()调用返回一个promise(由回调返回的值来解决),而.success()注册回调是一种更传统的方式,并且不返回promise。

基于承诺的回调(.then())可轻松实现承诺链(进行一次呼叫,解释结果, 然后再 进行一次呼叫,解释结果,再进行一次呼叫等)。

.success()当您不需要链接调用或不需要使用promise API(例如,在路由中)时,该方法是一种简化的便捷方法。

简而言之:

  • .then() -promise API的全部功能,但更详细
  • .success() -不返回承诺,但提供更方便的语法


 类似资料:
  • 问题内容: 查看下面显示的G​​o文档,我很难理解接收器和参数之间的区别: 该方法的签名如下:这是一个名为save的方法,该方法将指向Page的指针作为其接收者p。它不带任何参数,并返回错误类型的值。 问题答案: 该接收机是像在C#:在所述接收器和所述参数是,和。执行该函数时,参数引用参数的副本。接收方和参数之间的重要区别在于,当接收方是调用站点上的接口类型时,要调用的功能是动态而非静态确定的。

  • 问题内容: 我正在经历一些面试问题。对于这个问题,我无法给出可靠的答案: Java中参数与参数之间的区别? 它们有何不同? 问题答案: 通常,参数是方法定义中显示的参数。参数是在运行时传递给方法的实例。 您可以在此处查看说明:http : //en.wikipedia.org/wiki/Parameter_(computer_programming)#Parameters_and_argument

  • 问题内容: 之间有什么区别 和 问题答案: 在Django的查询集文档都对这个很清楚的: 返回与给定查找参数匹配的对象,该参数应采用“字段查找”中所述的格式。 如果找到多个对象,则get()会引发MultipleObjectsReturned。MultipleObjectsReturned异常是模型类的属性。 如果找不到给定参数的对象,则get()会引发DidNotExist异常。此异常也是模型类

  • 问题内容: 我知道,无论与就将计算在东西在AngularJS变化。但是无法理解两者之间到底有什么区别。 我最初的理解是为角表达式计算的,这些角表达式是HTML端在执行函数时所执行的条件。我的想法是否正确? 问题答案: $observe() 是Attributes对象上的一种方法,因此,它只能用于观察/监视DOM属性的值更改。仅用于/调用内部指令。当您需要观察/观察包含插值的DOM属性(即{{}})

  • 问题内容: 我在阅读PEP 0008(样式指南)时,发现它建议在实例方法中使用self作为第一个参数,而在类方法中使用cls作为第一个参数。 我已经使用并编写了一些类,但从未遇到过类方法(嗯,一种将cls作为参数传递的方法)。有人可以告诉我一些例子吗? 谢谢! 问题答案: 实例方法 创建实例方法时,第一个参数始终为。您可以随意命名,但含义始终相同,并且由于其是命名约定,因此应使用。 (通常)在调用

  • 问题内容: 用修饰的功能和用修饰的功能有什么区别? 问题答案: 也许有点示例代码将有助于:发现其中的差别在调用签名,并且: 以下是对象实例调用方法的常用方法。对象实例,a作为第一个参数隐式传递。 使用时,对象实例的类作为第一个参数而不是隐式传递。 你也可以使用该类进行呼叫。实际上,如果你将某些东西定义为类方法,则可能是因为你打算从类而不是从类实例调用它。本来会引发,但效果很好: 人们发现类方法的一