使用与jQuery.when()不同的数组
我正在使用使用与jQuery.when()不同的数组,jquery,jquery-deferred,.when,Jquery,Jquery Deferred,.when,我正在使用$。当在运行其他逻辑之前运行两个函数时。现在,在一些情况下,在执行相同的逻辑之前,我需要运行一组不同的函数,所以我想将函数数组传递给$ 比如: function funcA(){ console.log("funcA"); } function funcB(){ console.log("funcB") } var funcArr = [funcA, funcB]; $.when(funcArr).then(function(){ console.log("D
$。当
在运行其他逻辑之前运行两个函数时。现在,在一些情况下,在执行相同的逻辑之前,我需要运行一组不同的函数,所以我想将函数数组传递给$
比如:
function funcA(){
console.log("funcA");
}
function funcB(){
console.log("funcB")
}
var funcArr = [funcA, funcB];
$.when(funcArr).then(function(){
console.log("DONE!");
});
但这不起作用,写入控制台的唯一内容是“完成!”。
我读了以下内容,但以下行为相同:
$.when.apply($, funcArr).then(function(){
console.log("DONE!")
});
怎么了?
谢谢。您对$的输入。如果不是类型延迟的
,这是函数的预期输入类型-
在最简单的级别上,您可以使用函数作为beforeStart
构造参数来构造Deferred
类型。比如:
var funcArr = [$.Deferred(funcA), $.Deferred(funcB)];
这是一把小提琴:
另外:
如果您只是尝试执行一系列函数中的每个函数,则不需要涉及延迟。只需使用$迭代数组即可。每个
,如:
$.each(funcArr, function(){
this();
});