Ich möchte jedes Element in eine Funktion übergeben, die Zeiten dauern. Aber scheint, dass die JS-Funktion asynchron ist. Wie kann ich die Funktion der Reihe nach aufrufen? (Pass nächste Element funktionieren, nachdem die vorherige getan)Wie ruft man eine JavaScript-Funktion sequentiell in einer for-Schleife auf?
function main() {
for (var i = 0; i < n ; i++) {
doSomething(myArray[i]);
}
}
function doSomething(item) {
// do something take time
}
Meine Lösung ist recusively die Funktion aufrufen. Aber ich möchte wissen, gibt es eine andere Möglichkeit, dieses Problem zu lösen? Vielen Dank.
function main() {
doSomething(myArray, 0);
}
function doSomething(item, i) {
// do something take time
doSomething(myArray, i + 1);
}
Soweit ich weiß, sind for-Zyklen und Funktionsaufrufe in Javascript synchron, also muss es etwas anderes sein, das die Funktion async macht. Vielleicht ist es etwas in der Funktion selbst. –
Entschuldigung dafür, dass mein Code auf einem node.js-Server ausgeführt wird. Ist die Funktion deshalb asynchron? – Aaron
'myArray.forEach (doSomething)' kommt in den Sinn. – Malk