Heim > Web-Frontend > js-Tutorial > Wie verkettet man drei asynchrone Aufrufe nacheinander mit jQuery-Versprechen?

Wie verkettet man drei asynchrone Aufrufe nacheinander mit jQuery-Versprechen?

Linda Hamilton
Freigeben: 2024-10-29 08:20:30
Original
782 Leute haben es durchsucht

How to Chain Three Asynchronous Calls Sequentially with jQuery Promises?

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>
Nach dem Login kopieren

Verketten Sie in der Funktion „Haupt“ die Funktionen mithilfe von .then().

<code class="javascript">function main() {
    first().then(second).then(third);
}</code>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage