var dfd = JQuery.deferred();
如果dfd.resolve(false)
和dfd.reject()
可以做同样的事情吗?
如果没有。 dfd.resolve(false)
是什么意思?
答案 0 :(得分:0)
dfd.resolve(false)
的含义是,它会验证您作为参数传递的输入true
或false
,然后进行调用。
<强>解析():强>
deferred.resolve()解析Deferred对象并调用any 带有给定参数的doneCallbacks。
解释:通常,只有Deferred的创建者才能调用此方法;您可以通过deferred.promise()返回受限制的Promise对象来阻止其他代码更改Deferred的状态。
当Deferred 已解决时,将调用deferred.then()或 deferred.done()添加的任何 doneCallbacks 。回调按添加顺序执行。每个回调都从 deferred.resolve()传递args。在Deferred进入已解决的状态后添加的任何 doneCallbacks 会在添加后立即执行,使用传递给 deferred.resolve()的参数强>打电话。
拒绝():
deferred.reject()拒绝Deferred对象并调用任何failCallbacks 与给定的args。
解释:通常,只有Deferred的创建者才能调用此方法;您可以通过deferred.promise()返回受限制的Promise对象来阻止其他代码更改Deferred的状态。
当Deferred 被拒绝时,将调用deferred.then()或 deferred.fail()添加的任何 failCallbacks 。回调按添加顺序执行。每个回调都从 deferred.reject()调用传递args。在延迟进入被拒绝的状态后添加的任何 failCallbacks 会在添加后立即执行,使用传递给 deferred.reject()的参数强>打电话。
关于JQuery.referred:
在大多数情况下,jQuery API调用返回Deferred或 与Promise兼容的对象,例如jQuery.ajax()或jQuery.when(),你 只想使用deferred.then(),deferred.done()和 deferred.fail()方法将回调添加到Deferred的队列中。该 API调用的内部或创建Deferred的代码 在某些方面延迟调用 deferred.resolve()或 deferred.reject() 点,导致适当的回调运行。
来源:https://api.jquery.com/category/deferred-object/
请注意:
deferred.resolve()
- &gt;您的请求已成功
deferred.reject()
- &gt;您的请求失败