jQuery adiado - aguardando a conclusão de várias solicitações AJAX [duplicadas]
Esta pergunta já tem uma resposta aqui:
Passe em uma matriz de adiados para $ .when () 9 respostasEu tenho uma cadeia profunda de três camadas de chamadas ajax adiadas e, idealmente, elas vão cumprir a promessa quando a camada mais profunda terminar (me faz lembrar do Inception ... "precisamos ir mais fundo!").
O problema é que estou enviando muitos pedidos de Ajax (possivelmente centenas) de uma só vez e preciso adiar até que todos eles estejam concluídos. Não posso confiar no último feito pela última vez.
function updateAllNotes() {
return $.Deferred(function(dfd_uan) {
getcount = 0;
getreturn = 0;
for (i = 0; i <= index.data.length - 1; i++) {
getcount++;
$.when(getNote(index.data[i].key)).done(func,tion() {
// getNote is another deferred
getreturn++
});
};
// need help here
// when getreturn == getcount, dfd_uan.resolve()
}).promise();
};