Wie verkette ich drei asynchrone Aufrufe mit jQuery-Versprechungen?

Ich habe drei HTTP-Aufrufe, die ich synchron ausführen muss, und wie kann ich Daten von einem Aufruf zum anderen weiterleiten?

function first()
{
   ajax()
}

function second()
{
   ajax()
}

function third()
{
   ajax()
}


function main()
{
    first().then(second).then(third)
}

Ich habe versucht, das Zurückgestellte für die beiden Funktionen zu verwenden, und habe eine Teillösung gefunden. Kann ich es auf drei Funktionen erweitern?

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)})

Antworten auf die Frage(10)

Ihre Antwort auf die Frage