jquery – $.when为单个$.Deferred做什么?

前端之家收集整理的这篇文章主要介绍了jquery – $.when为单个$.Deferred做什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图理解$.when,我可以看到,当你想要继续之前等待多个延迟时,它会很有用.但是,我不确定我理解使用$.when和延迟的用例是什么.为了显示
var deferred = $.Deferred();

// Is this ever useful?
$.when(deferred).then(...)

// Or can I always do this?
deferred.then(...)

解决方法

$.when [docs]文档:

If a single Deferred is passed to jQuery.when,its Promise object (a subset of the Deferred methods) is returned by the method.

所以$.when(deferred).then(…)与deferred.promise().然后(…)相同.

promise对象只是延迟对象的有限接口.它允许添加回调,但不允许更改Deferred的状态(解析,拒绝它).

最后,使用$.when和直接在延迟对象上调用.then之间基本没有区别.

我认为将一个延迟对象明确地传递给$.when是没有意义的,因为你没有任何优势.但是,在某些情况下,您可能存在未知数量的延迟对象,这意味着它也可能只有一个.

原文链接:https://www.f2er.com/jquery/178172.html

猜你在找的jQuery相关文章