AngularJS : 根据值解析 promise 对象

AngularJS : Resolving promise objects based on value

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

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

谁能解释一下?

dfd.resolve() - what happens when resolving without a value? Is it a rejection?

不,这与 dfd.resolve(undefined) 相同 - 您调用一个带参数但不带参数的函数。

resolve(value) "If the value is a rejection constructed via $q.reject, the promise will be rejected instead" - what does it mean?

如果值是一个承诺,将采用该承诺的状态。 $q.reject 确实构建了一个被拒绝的承诺。它也适用于已兑现的承诺,例如 resolve($q.when(value))