jQuery-zurückgestelltes Objekt mit verschachtelten Ajax-Aufrufen
Ich habe eine Situation, in der meine Ajax-Anrufe in einer bestimmten Reihenfolge ausgeführt werden müssen. Ich habe jQuery Deferred-Objekte in anderen Situationen verwendet, kann jedoch anscheinend keine Möglichkeit finden, dieses Verhalten entsprechend anzupassen.
Ich habe eine Funktion, die eine Reihe von Funktionen ausführtajax
Anfragen in seinem Leben. Einige der Anforderungen werden während des erfolgreichen Rückrufs anderer Anforderungen ausgeführt.
Meine Frage:Gibt es eine Möglichkeit, alle verschachtelten zurückgestellten Objekte auf das Original zurückzusetzen?$.when
Anruf?
Ein vereinfachtes Beispiel wäre:
function nestedAjax() {
$.get("/", function(){
console.log("First ajax done.");
$.get("/", function(){
console.log("Second ajax done.");
});
});
};
Ich versuche das zu habennestedAjax
Funktion zu verwenden$.when()
und$.done()
wie so:
$.when(nestedAjax()).done(function(){
console.log("Complete");
});
Mit der Konsolenausgabe lesen:
> First ajax done.
> Second ajax done.
> Complete.
Ich kann das erste zurückgebenget
um das zu erreichen:
> First ajax done.
> Complete.
> Second ajax done.
Aber das ist natürlich nicht das, was ich brauche. Jede Hilfe wäre dankbar.