if (errno == 0 ){
deferred.resolve(value)
} else {
deferred.resolve(null)
}
为什么有的是deferred.resolve(value)
,有的是deferred.resolve(null)
或者deferred.resolve()
if (errno == 0 ){
deferred.resolve(value)
} else {
deferred.resolve(null)
}
为什么有的是deferred.resolve(value)
,有的是deferred.resolve(null)
或者deferred.resolve()
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
当延迟对象被 resolved 时,任何通过 deferred.then或deferred.done 添加的 doneCallbacks,都会被调用。回调函数的执行顺序和它们被添加的顺序是一样的。传递给 deferred.resolve() 的 args 参数,会传给每个回调函数。当延迟对象进入 resolved 状态后,再添加的任何 doneCallbacks,当它们被添加时,就会被立刻执行,并带上传入给 .resolve()的参数。