Jak połączyć trzy asynchroniczne wywołania za pomocą obietnic jQuery?
Mam trzy wywołania HTTP, które muszę wykonać synchronicznie i jak przekazywać dane z jednego połączenia do drugiego?
function first()
{
ajax()
}
function second()
{
ajax()
}
function third()
{
ajax()
}
function main()
{
first().then(second).then(third)
}
Próbowałem użyć odroczonej dla dwóch funkcji i wymyśliłem częściowe rozwiązanie. Czy mogę rozszerzyć go na trzy funkcje?
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)})