collection(6)--map

对集合中的每一个元素,执行某个异步操作,得到结果。所有的结果将汇总到最终的callback里。与each的区别是,each只关心操作不管最后的值,而map关心的最后产生的值。
提供了两种方式:

  1. 并行执行。同时对集合中所有元素进行操作,结果汇总到最终callback里。如果出错,则立刻返回错误以及已经执行完的任务的结果,未执行完的占个空位
  2. 顺序执行。对集合中的元素一个一个执行操作,结果汇总到最终callback里。如果出错,则立刻返回错误以及已经执行完的结果,未执行的被忽略。
    接口:
map(arr, iterator(item, callback), callback(err, results))

测试数据:

map

代码:

结果:

这里需要说明一下map和concat的区别,只有一点,最终结果的顺序。map是按照iterator之中的顺序返回结果,而concat是按照先执行完毕的顺序返回结果。

代码:

结果:

如果出错:
代码:

结果:

mapSeries

代码:

结果:

如果出错:
代码:

结果:

mapLimit

代码:

结果:

推荐阅读更多精彩内容