私はnode.jsを使用しています
ループ内で呼び出す必要があるいくつかのパラメーターを持つ関数があります。この関数は、ループ反復子をパラメーターとして使用して呼び出す必要があり、ループは処理が完了するまで関数を再度呼び出してはなりません。
このようなもの (sync メソッド): (someFunc は非同期関数であることに注意してください)
var totCount = 1000;
for (var x = 0 ; x < totCount ; x++) {
someFunc(x, parm2, parm3, parm4);
}
ノードでは、 someFuncは任意の順序で実行できることを理解していますが、この場合、絶対に x = 0、1、2 などで実行する必要があります。
非同期ライブラリ呼び出し「async.whilst」がこれを行うようですが、例を実際のコードに変換するのに問題があります。
「async.whilst」の例を次に示します。
var count = 0;
async.whilst(
function () { return count < 5; },
function (callback) {
count++;
setTimeout(callback, 1000);
},
function (err) {
// 5 seconds have passed
}
);
関数someFuncを何度も呼び出さなければならない可能性があるため、通常のコールバック アプローチは機能しないことに注意してください。
これを自分のコードに変換するにはどうすればよいですか? (「async.while」が正しいアプローチであると想定しています。そうでない場合は、正しいアプローチを指定してください)