Also, ich habe Funktion, die wie folgt verriegelt:Warten Sie async .done() in jeder Iteration der Schleife
function getMainData() {
var dfd = $.Deferred();
$.getJSON('My string that i pass',
function(result) {
if (result !== undefined) {
dfd.resolve(result);
}
})
return dfd.promise()
}
function getSpecificData() {
var dfd = $.Deferred();
var myArray = [];
for (var i = 0; i < 5; i++) {
getMainData().done(function(result) {
myArray.push(result)
dfd.resolve(myArray) //This is where I am lost.
})
}
return dfd.promise()
}
getSpecificData().done(function(result) {
console.log(result);
})
Ich glaube, ich weiß, wie Versprechungen arbeiten, wenn Sie sie zusammen Kette, aber ich kann nicht das machen for-loop wartet darauf, dass der asynchrone Aufruf vor der nächsten Iteration beendet wird.
Können mir einige bitte helfen?
Dank für die Lösung, das hat gut funktioniert, und ich habe eigentlich nicht über rekursive Methoden gedacht. – Zorken17