map

  1. map(coll, iteratee, callback)

通过iteratee函数,对coll中的每个值进行映射,产生一个新的集合。iteratee使用coll中的元素,执行完成之后,会进行回调。这些回调中每一个有两个参数,error和已经映射过的值。如果回调传递出一个错误,函数将马上进行主回调,并显示错误信息。

注意:因为这些功能 iteratee 并行执行,所以并不能保证可以按顺序执行完成。但是,得到的记过数组将和原来的cool顺序保持一致。

如果map传递一个Object ,结果将返回一个数组。数组的排列顺序大致按照原始对象的键的顺序(因为JavaScript引擎可能排序会变化)

参数:

Name Type Description
coll Array/Iterable/Object 要迭代的集合
iteration AsyncFunction coll里的每个项进行操作的异步函数。当iteratee完成转化,将使用 (item, callback) 的方式回调
callbac function 所有iteratee功能完成后或出现错误时调用的回调函数 。结果为一个数组,用 (err, result) 的形式调用。

案例:

  1. async.map(['file1','file2','file3'], fs.stat, function(err, results) {
  2. // results 为 检查每个文件的结果组成的数组
  3. });

mapLimit

  1. mapLimit(coll, limit, iteratee, callback)

map一样,通过limit限制了并行的最大数

mapSeries

  1. mapSeries(coll, iteratee, callback)

map一样,按顺序执行