Wie zu verwenden .promise().done() auf $.jedes json-array, wenn Sie fertig/abgeschlossen?
Möchte ich eine bestimmte Aktion ausführen, wenn $.jeder ist fertig.
$.each(someArray, function(index, val) {
//---------some async ajax action here per loop ---------
$.ajax({...}).done(function(data){...});
}.promise().done(function(){...}); //<-------error here can't use with $.each
- Nicht jeder jQuery-Funktion hat eine
promise()
? - Wie weiß ich, Wann $.jeder array gemacht wird?
- Kann ich das ändern someArray zu $someArray es zu benutzen?
InformationsquelleAutor paocom | 2014-06-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als Sie herausgefunden haben,
$.each()
nicht.promise()
so können Sie nicht tun es so, wie Sie wollten. Verwenden Sie stattdessen$.when()
zu verfolgen, wenn Sie eine Reihe von Versprechungen kehrte von einer Gruppe von Ajax-Funktionen wurden alle behoben:Oder, anstatt Ihre
$.each()
, es ist ein wenig cleaner zu verwenden.map()
:.map()
ist schön und sauberAktualisiert code, um die Verwendung
.map()
und.then()
.InformationsquelleAutor jfriend00