Async: 質問:async.parallelの結果の順序

作成日 2012年08月02日  ·  3コメント  ·  ソース: caolan/async

async.parallelメソッドがそのタスク関数を並行して実行することを理解しています。 ただし、結果の順序はわかりません。

結果配列の順序は以下に依存しますか?


並列タスクがコールバックするとき。 コールバックする最初のタスクは、最終結果配列の最初に結果を持ちます。

また

タスクの順序はasync.parrallelメソッドで提供されました。 最初のタスクメソッドは、最終結果配列の最初に結果を持ちます。

最も参考になるコメント

これは、非同期ドキュメントに明示的に記載する必要があります。

全てのコメント3件

どうでも。

個人的には、2番目のインスタンスが正しいと結論付けることができます。

READMEにあるこの例の下部で明らかにされているように:

async.parallel([
    function(callback){
        setTimeout(function(){
            callback(null, 'one');
        }, 200);
    },
    function(callback){
        setTimeout(function(){
            callback(null, 'two');
        }, 100);
    },
],
// optional callback
function(err, results){
    // the results array will equal ['one','two'] even though
    // the second function had a shorter timeout.
});

これは、非同期ドキュメントに明示的に記載する必要があります。

もう1つの助けは、最終結果配列の配列ルックアップで使用するキーを渡す方法の可能性です。

このページは役に立ちましたか?
0 / 5 - 0 評価