Verketten von drei asynchronen Aufrufen mit jQuery-Versprechen
Sie haben drei asynchrone HTTP-Aufrufe, die Sie nacheinander ausführen müssen, wobei Daten von einem Aufruf übergeben werden zum nächsten. Der bereitgestellte Code verwendet verzögerte Objekte für zwei Funktionen, erfordert jedoch eine Erweiterung für drei Funktionen.
Gibt in jedem Fall das von $.ajax() zurückgegebene jqXHR-Objekt zurück. Diese Objekte sind Promise-kompatibel und ermöglichen die Verkettung mit .then()/.done()/.fail()/.always(). Für dieses Szenario ist .then() geeignet.
<code class="javascript">function first() { return $.ajax(...); } function second(data, textStatus, jqXHR) { return $.ajax(...); } function third(data, textStatus, jqXHR) { return $.ajax(...); }</code>
Verketten Sie in der Funktion „Haupt“ die Funktionen mithilfe von .then().
<code class="javascript">function main() { first().then(second).then(third); }</code>
Die Argumentdaten, textStatus und jqXHR stammen aus dem $.ajax()-Aufruf in der vorherigen Funktion. Mit anderen Worten: First() liefert Second() und Second() liefert Third().
(Verwenden Sie zur Veranschaulichung $.when('foo'), um ein erfülltes Versprechen anstelle von $ zu erzeugen. ajax(...)).
Das obige ist der detaillierte Inhalt vonWie verkettet man drei asynchrone Aufrufe nacheinander mit jQuery-Versprechen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!