Eu preciso fazer 4-5 chamadas Ajax e, assim que todas essas chamadas forem bem-sucedidas, preciso chamar uma função JavaScript. Eu estou usando o ExtJS. Eu posso fazer essas chamadas Ajax usando JQuery também.
Como posso chamar uma função assim que todas essas chamadas do Ajax forem bem-sucedidas?
Eu posso criar 4-5 bandeiras e no sucesso de cada chamada ajax, vou definir respectivo sinalizador para true e uma vez que todas as bandeiras são verdadeiras, vou fazer a chamada de função.
Existe alguma maneira melhor de alcançar o resultado desejado?
Respostas:
3 para resposta № 1Você pode usar o jQuery when
:
$.when(
// Get first
$.get("/first/", function(result) {
//Do something with result
}),
// Get second
$.get("/second/", function(result) {
//Do something with result
}),
// Get third
$.get("/third/", function(result) {
//Do something with result
})
).then(function() {
// All is ready now, so...
});
Fonte: http://css-tricks.com/multiple-simultaneous-ajax-requests-one-callback-jquery/
Também está documentado no site jquery: http://api.jquery.com/jquery.when/