node async基础1

时间:2024-12-18 16:34:20

async的基础使用

1 async each

  语法格式each(collection, iteratee, [callback])

  用途:遍历集合中的元素,并行对每个元素执行一定的操作,但是不保证执行顺序,结果不会传递给最终的callback函数(要传递结果,可选择async.map函数)

  参数说明:

  • collection是一个用于遍历的集合
  • iteratee(item, callback)遍历函数,需要传入一个callback函数
  • [callback]是一个可选的回调函数,当遍历函数返回时,执行此函数

例程:

var testArr=[];
    for (var i = 1; i <= 10; i++) {
          testArr.push(i);
    }
    var addConst = function (num, doneCallback) {
          console.log(num+10);
          return doneCallback(null);
    };
    async.each(testArr, addConst, function (err,results) {
        console.log("Finished!");
    });

这段代码会对数组中每个元素加10。

 

2 async map

语法格式map(collection, iteratee, [callback])

  用途:遍历集合中的元素,并行对每个元素执行一定的操作,但是不保证执行顺序,产生一个新的集合,结果会传递给最终的callback函数

  参数说明:

  • collection是一个用于遍历的集合
  • iteratee(item, callback)遍历函数,需要传入一个callback函数
  • [callback]是一个可选的回调函数,当遍历函数返回时,执行此函数

例程:

var testArr=[];
    for (var i = 1; i <= 10; i++) {
          testArr.push(i);
    }
var addConst = function (num, doneCallback) {
  return doneCallback(null, num+10);
};

async.map(testArr, addConst, function (err, results) {
  console.log("Finished!");
  console.log(results);
});

这段代码会对数组中每个元素加10,结果会传递给最终的回调函数的results。

打印结果:

[ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 ]

相关文章