jQuery中deferred.resolve(value)中value是什么

if (errno == 0 ){
    deferred.resolve(value)
} else {
    deferred.resolve(null)
}

为什么有的是deferred.resolve(value),有的是deferred.resolve(null)或者deferred.resolve()

阅读 3.4k
3 个回答

当延迟对象被 resolved 时,任何通过 deferred.then或deferred.done 添加的 doneCallbacks,都会被调用。回调函数的执行顺序和它们被添加的顺序是一样的。传递给 deferred.resolve() 的 args 参数,会传给每个回调函数。当延迟对象进入 resolved 状态后,再添加的任何 doneCallbacks,当它们被添加时,就会被立刻执行,并带上传入给 .resolve()的参数。

这应该跟promise差不多吧,promise是es6原生API,楼主可以看一下

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题