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.7k 阅读
2 回答3.2k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
3 回答866 阅读✓ 已解决
3 回答1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
当延迟对象被 resolved 时,任何通过 deferred.then或deferred.done 添加的 doneCallbacks,都会被调用。回调函数的执行顺序和它们被添加的顺序是一样的。传递给 deferred.resolve() 的 args 参数,会传给每个回调函数。当延迟对象进入 resolved 状态后,再添加的任何 doneCallbacks,当它们被添加时,就会被立刻执行,并带上传入给 .resolve()的参数。