Heim > Web-Frontend > js-Tutorial > Wie kann ich ein Array verzögerter Objekte an „$.when()' von jQuery übergeben?

Wie kann ich ein Array verzögerter Objekte an „$.when()' von jQuery übergeben?

Mary-Kate Olsen
Freigeben: 2024-12-09 21:57:13
Original
643 Leute haben es durchsucht

How Can I Pass an Array of Deferred Objects to jQuery's `$.when()`?

Übergeben Sie ein Array von Deferreds an $.when()

Beim Umgang mit einem komplexen Satz asynchroner Aufgaben kann dies praktisch sein Übergeben Sie ein Array verzögerter Objekte an die Methode $.when(), um zu benachrichtigen, wenn alle Aufgaben abgeschlossen sind. Allerdings erwartet $.when() standardmäßig separate Deferred-Objekte als einzelne Parameter, was unpraktisch sein kann, wenn die Anzahl der Deferred-Objekte unbekannt ist. Dieser Artikel bietet eine Lösung für dieses Problem mithilfe von Function.prototype.apply.

Lösung:

Um ein Array verzögerter Objekte an $.when() zu übergeben, verwenden Sie die Function.prototype.apply-Methode wie folgt:

$.when.apply($, my_array).then( ___ );
Nach dem Login kopieren

Damit können Sie ein Array von Deferred-Objekten als einzelnes Argument übergeben $.when(). Der folgende Beispielcode demonstriert diesen Ansatz:

var deferreds = getSomeDeferredStuff();
$.when.apply($, deferreds).done(function() {
    $("div").append("<p>All done!</p>");
});
Nach dem Login kopieren

ES6:

In ES6 können Sie den Spread-Operator (...) anstelle von Function.prototype verwenden .anwenden:

$.when(...my_array).then( ___ );
Nach dem Login kopieren

Hinweis:

Es ist Es ist wichtig zu beachten, dass die für die .then()-Methode bereitgestellte Handlerfunktion das Argumentarray verarbeiten sollte, um das Ergebnis jedes Versprechens abzurufen. Da die Anzahl der formalen Parameter, die der Handler benötigt, wahrscheinlich im Voraus unbekannt ist, muss der Handler das Argumentarray entsprechend verarbeiten.

Das obige ist der detaillierte Inhalt vonWie kann ich ein Array verzögerter Objekte an „$.when()' von jQuery übergeben?. 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