web-dev-qa-db-ja.com

nodejs Async's while

みなさん、こんにちは。

関数を繰り返し呼び出したいのですが、前の呼び出しが完了したときにのみ各呼び出しを実行したいと思いました。 Asyncは必要なものに適合しますか?または、呼び出しは並行して行われますか?

ありがとう!

ゲイリー

15
Gary

必要なことを実行しながら、各関数を直列に実行します。各実行の前に、「テスト」機能を実行して、再度実行する必要があることを確認します。

彼らの例:

var count = 0;

async.whilst(
    function () { return count < 5; },
    function (callback) {
        count++;
        setTimeout(callback, 1000);
    },
    function (err) {
        // 5 seconds have passed
    }
);
30
Chad

チャドが指摘したように 、非同期の ながら が仕事をします。

Asyncの ntil (whileの逆)を検討することをお勧めします。どちらも同じ仕事をしますが、主な違いは次のとおりです。

  • async.whilstは、テストが合格するたびに関数を呼び出します
  • async.untilは、テストが失敗するたびに関数を呼び出します
2
Pablo Carbajal