У меня возникает некоторая путаница в том, как применить объект jQuery $ .deferred для цикла асинхронного процесса, когда цикл имеет переменную длину , Ниже моя текущая попытка. Поскольку процесс в цикле является асинхронным, цикл завершится, и отложенный объект в главном будет разрешен до того, как все асинхронный процесс, запущенный в цикле, будет разрешен. С другой стороны, я получаю переменное количество разрешений, вызванных отложенным объектом внутри асинхронного процесса, по мере того как каждый заканчивается, оставляя довольно немного учета, чтобы определить, когда они все закончили.Определение разрешения переменного числа асинхронного процесса, вызванного в цикле с использованием jQuery отложенных, javascript
function asyncProcess(someVariable) {
var dfd = $.Deferred();
//Some Code
dfd.resolve();
return dfd.promise();
}
function main() {
var dfd = $.Deferred();
for (i = 0; i < variableInteger; i++) {
asyncProcess(someVariable);
dfd.resolve();
}
return dfd.promise();
}
Кто-нибудь знает, как эта ситуация обычно обрабатывается?
Это похоже на перспективный подход, но у меня его нет на работе. Вы уверены, что мне не нужен отложенный объект в main()? –
@BenPearce no .... –
@BenPearce см. Http://jsfiddle.net/arunpjohny/LcCwx/1/ –