当前位置

网站首页> 程序设计 > 开源项目 > 程序开发 > 浏览文章

async.js 学习记录 - 杨军军前端研究

作者:小梦 来源: 网络 时间: 2024-03-25 阅读:

async.js 主要解决 node异步函数的流程控制,常用的场景如下:

  1. 多个异步依次顺序执行,后面异步函数的结果不依赖前面异步函数的输出

    async.series([  function(callback) {    doAsync1(arg, callback);  },     function(callback) {    doAsync2(arg, callback);  },  function(callback) {    doAsync3(arg, callback);  }], function(err, result) {  console.log(result);});
  2. 多个异步依次顺序执行,且后面异步函数的依赖前面异步函数的输出

    async.waterfall([  function(callback) {    adouble(2, callback);  },  function(arg, callback) {    adouble(arg, callback);  },  function(arg, callback) {    adouble(arg, callback);  }], function(err, result) {  console.log(result);});
  3. 多个异步并行执行,当所有异步函数执行完成后执行回调函数,回到函数的参数为之前异步函数执行结果的数组,如果需要限制并行执行的数量可以使用parallelLimit

    async.parallel([  function(callback) {    doAsync1(arg, callback);  },     function(callback) {    doAsync2(arg, callback);  },  function(callback) {    doAsync3(arg, callback);  }], function(err, result) {  console.log(result);});

参考

  1. https://github.com/caolan/async#seriestasks-callback

热点阅读

网友最爱