我试图制作潜在的几十个ajax调用,并希望将它们同时堆叠4或5,但不能同时解雇它们。在C#中,我将使用ActionBlock,并在我的委托中发送,直到我准备好然后开始执行。
所以,我试图在JavaScript中构建相同的东西,并且能够使用$ .when和数组来完成所有工作,但是我无法将委托传递给具有特定参数的函数。
我尝试过fn.apply和fn.bind,但是在尝试创建执行链时它们都会立即执行。
在c#中,签名只是:
public Push(Action|Func<T> methodToCall){...}
然后我会在$ .when
的.then处理程序中递归调用它答案 0 :(得分:0)
在jQuery中,您可以使用.queue(queueName)
来设置N个同步函数或异步过程的数组,这些函数可以按顺序调用,即上一个函数返回Promise
或其他值时; .promise(queueName)
等待queueName
数组中的所有函数被调用; .then()
链接到.promise(queueName)
以在queueName
jQuery承诺对象完成时执行操作。
也可以在不使用jQuery的情况下编写相同的模式;使用Array.prototype.shift()
,Promise
构造函数或其他Promise
对象,以及递归或重复调度。
见