我在docs.angularjs.org中读到,在延迟对象上,使用值解析了promise,这是我的几个问题。
var dfd = $q.deferred();
dfd.resolve()
- 没有价值解决时会发生什么?这是拒绝吗? resolve(value)
- 使用值解析派生的promise。 如果该值是通过$ q.reject构建的拒绝,则承诺将被拒绝 这是什么意思? 有人可以澄清一下吗?
答案 0 :(得分:4)
dfd.resolve()
- 没有价值解决时会发生什么?是一个 拒绝?
不,它与dfd.resolve(undefined)
完全相同 - 您使用不带参数的参数调用函数。
resolve(value)
" 如果值是通过构造的拒绝$q.reject
,承诺将被拒绝" - 这是什么意思?
如果价值是承诺,将采用该承诺的状态。 $q.reject
确实构成了被拒绝的承诺。它也会履行承诺,例如resolve($q.when(value))