Como faço para encadear três chamadas assíncronas usando promessas de jQuery?
Tenho três chamadas HTTP que preciso fazer de maneira síncrona e como faço para passar dados de uma chamada para outra?
function first()
{
ajax()
}
function second()
{
ajax()
}
function third()
{
ajax()
}
function main()
{
first().then(second).then(third)
}
Eu tentei usar o diferido para as duas funções e eu encontrei uma solução parcial. Posso estendê-lo para três funções?
function first() {
var deferred = $.Deferred();
$.ajax({
"success": function (resp)
{
deferred.resolve(resp);
},
});
return deferred.promise();
}
function second(foo) {
$.ajax({
"success": function (resp)
{
},
"error": function (resp)
{
}
});
}
first().then(function(foo){second(foo)})