我想使用when()来控制多个AJAX调用的完成,例如:
$.when(
$.ajax( "test.aspx" ),
$.ajax( "test2.aspx" ),
...
).then(...);
最后,我想将$ .when与变量数组的函数调用结果一起使用。我不知道怎么做。
我们如何纠正下一个构造?这是不正确的问题,因为我们传递了一个Function对象数组,但没有传递函数调用的结果。
funcArray = [
function() { return $.ajax( "test.aspx" ) },
function() { return $.ajax( "test2.aspx" ) }
]
if( cond )
{
funcArray.push( function() { return $.ajax( "test3.aspx" ) } )
}
$.when.apply( null, funcArray ).then(...); // how to correct here and probably somewhere else?
正如Mattias Buelens在评论中所说,问题是您传递了将承诺返回给您的函数,$.when
而不是实际的承诺。
您必须迭代数组并返回每个函数调用的结果。
有几种方法可以这样做:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句