使用async.map保留结果的顺序

时间:2015-08-10 15:10:10

标签: javascript asynchronous callback async.js

我需要进行多次异步调用,并确保结果与调用保持的顺序。如何使用async库实现这一目标?

async.map(['item1', 'item2', 'item3'], function (itemName, callback){

    // Ajax GET item on server
    // ...

    // Once we have the item, return it
    callback(null, item);

}, function(error, results){

    // The results array is not necessarily sorted by order of calls
    // It can be [item2, item3, item1]

    // I want to ensure it will always be [item1, item2, item3]
});

1 个答案:

答案 0 :(得分:0)

  

结果数组不一定按调用顺序排序   它可以是[item2, item3, item1]

好吧,没有。你为什么这么认为? The docs明确声明:

  

结果数组的顺序与原始arr的顺序相同。