【发布时间】:2020-09-26 20:28:06
【问题描述】:
以下是 jQuery 中$.when() 的标准用法示例:
var d1 = $.Deferred();
var d2 = $.Deferred();
var d3 = $.Deferred();
$.when(d1, d2, d3).done(function (v1, v2, v3 ) {
});
是否可以即时传递 1 个或多个延迟变量?假设我突然有 5 个延迟来检查他们的解析,我如何在不硬编码 $.when(d1, d2, d3, d4, d5).... 的情况下将这 5 个动态插入到 $.when() 中?
【问题讨论】:
-
使用数组传递给
$.when,见stackoverflow.com/questions/5627284/… -
如果使用 jQuery 3+,也可以使用带有延迟数组的 Promise.all() 而不是
$.when -
谢谢charlietfl。 .apply() 有效。我会研究一下 Promise.all() 看看它是什么。