時間を要する関数に各項目を渡したいと思います。 しかし、JS関数が非同期であるようです。 関数を順番に呼び出すにはどうすればよいですか? (前回の処理後に次の項目を機能させるために渡す)forループでJavaScript関数を順番に呼び出す方法は?
function main() {
for (var i = 0; i < n ; i++) {
doSomething(myArray[i]);
}
}
function doSomething(item) {
// do something take time
}
私の解決方法では関数を再帰的に呼び出しています。 しかし、私はこの問題を解決する別の方法があることを知りたいですか?ありがとう。あなたは以前に行われた後に機能するために次のアイテムを渡したい場合は
function main() {
doSomething(myArray, 0);
}
function doSomething(item, i) {
// do something take time
doSomething(myArray, i + 1);
}
私が知る限り、for-cyclesとjavascriptでの関数呼び出しは同期的であるため、関数asyncを作成する別のものでなければなりません。たぶんそれは関数そのものの中にあるかもしれません。 –
申し訳ありませんが、私のコードはnode.jsサーバー上で実行されています。なぜ関数は非同期ですか? – Aaron
'myArray.forEach(doSomething)'が気になります。 – Malk