AngularJS:根据值解析承诺对象

AngularJS : Resolving promise objects based on value

本文关键字:承诺 对象 AngularJS      更新时间:2023-09-26

我在 docs.angularjs.org 中读到,在延迟对象上,承诺是用值解决的,这是我的几个问题。

var dfd = $q.deferred();  
  1. dfd.resolve() - 在没有值的情况下解析时会发生什么?是拒绝吗?
  2. resolve(value)使用值解析派生的承诺。如果该值是通过 $q.reject 构造的拒绝,则承诺将被拒绝什么意思?

谁能澄清一下?

dfd.resolve() - 在没有值的情况下解析时会发生什么?是不是 拒绝?

不,它与dfd.resolve(undefined)相同 - 您调用带有不带参数的参数的函数。

resolve(value) "如果值是通过构造的拒绝 $q.reject,承诺将被拒绝"——这意味着什么?

如果值是承诺,则将采用该承诺的状态。 $q.reject确实构建了一个被拒绝的承诺。它也可以与履行的承诺一起使用,比如resolve($q.when(value))