首页 >web前端 >js教程 >如何使用 jQuery 的 $.when() 有效处理延迟对象数组?

如何使用 jQuery 的 $.when() 有效处理延迟对象数组?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-19 10:15:14351浏览

How Can I Effectively Handle Arrays of Deferred Objects with jQuery's $.when()?

理解 $.when() 中的延迟数组处理

在类似于提供的 JSFiddle 中演示的场景中,一组生成延迟任务并将其传递给 $.when()。然而, $.when() 默认情况下需要单独的延迟对象作为参数,并且可能无法有效地处理数组。

利用 Function.prototype.apply

要解决这个问题,您可以使用 Function.prototype.apply 将延迟数组作为单独的参数传递。这可以通过以下语法来实现:

$.when.apply($, my_array).then( ___ );

此方法会将数组扩展为逗号分隔的各个延迟列表,允许 $.when() 正确处理它们。

使用 ES6 Spread 运算符

或者,如果您使用的是 ES6 或更高版本,您可以使用扩展运算符 (...) 更简洁地实现相同的效果:

$.when(...my_array).then( ___ );

在 .then() 处理程序中处理动态参数计数

由于 .then() 处理程序所需的参数数量事先未知,因此建议处理参数数组以提取每个 Promise 的结果。这可以在处理函数本身内完成。

以上是如何使用 jQuery 的 $.when() 有效处理延迟对象数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn