async.series

async.series

  

  series适用于顺序执行异步且前后无关联的调用。对于顺序执行异步且前后有叛逆的调用,则需要使用waterfall

  If any functions in the series pass an error to its callback, no more functions are run, andcallback is immediately called with the value of the error. Otherwise, callback receives an array of results when tasks have completed.

  

async.series([
    function(callback) {
        // do some stuff ...
        callback(null, ‘one‘);
    },
    function(callback) {
        // do some more stuff ...
        callback(null, ‘two‘);
    }
],
// optional callback
function(err, results) {
    // results is now equal to [‘one‘, ‘two‘]
});

async.series({
    one: function(callback) {
        setTimeout(function() {
            callback(null, 1);
        }, 200);
    },
    two: function(callback){
        setTimeout(function() {
            callback(null, 2);
        }, 100);
    }
}, function(err, results) {
    // results is now equal to: {one: 1, two: 2}
});

参考:https://caolan.github.io/async/docs.html#series

时间: 2024-10-26 14:01:08

async.series的相关文章

nodejs async series 小白向

async.series({  flag1:function(done){ //flag1 是一个流程标识,用户自定义      //逻辑处理      done(null,"返回结果")// 第一个参数是异常错误,第二个参数的返回结果  }},function(error,result){    //最后结果    //result是返回结果总集,包含了所有的流程控制 ,    //result.flag1 可以获取标识1中处理的结果console.log(error);consol

避免多层回调,Node.js异步库Async使用(series)

未使用Async之前coffeescript写的代码: exports.product_file_add = (req,res) -> if !req.param('file_id') return res.json({'flag':'error','msg':'请先上传文件再保存!'}) file_type = req.param('file_type') #判断产品和文件类型,限制上传的数量 params = {} params.product_code = req.param('produ

控制异步回调利器 - async 串行series,并行parallel,智能控制auto简介

async 作为大名鼎鼎的异步控制流程包,在npmjs.org 排名稳居前五,目前已经逐渐形成node.js下控制异步流程的一个规范.async成为异步编码流程控制的老大哥绝非偶然,它不仅使用方便,文档完善,把你杂乱无章的代码结构化,生辰嵌套的回掉清晰化. async 提供的api包括三个部分: (1)流程控制 常见的几种流程控制. (2)集合处理 异步操作处理集合中的数据. (3)工具类 . github 开源地址: https://github.com/caolan/async 安装方法:

使用 async Node.js 简化Javascript代码

async Node.js async 是Javascript的扩展库.它可以简化Node.js异步操作的书写,使代码更容易被读懂,而不是面对多层的括号发疯. 我们可以使用Node.js的包管理器npm直接安装它,在shell中输入: 1 2 npm install async 或者 更改package.json: 1 2 3 4 5 6 7 8 9 10 11 12 13 { "name": "application-name", "version&qu

nodejs异步---Async

一:异步基础 1.由于node.js天生就是异步,所以效率很高,性能强. console.log('hi!'); setTimeout(function(){ console.log('hello!'); },1000); console.log('wow!'); 比如这个,输出结果:hi wow! hello! 可以看出nodejs的异步性 2.高阶函数 高阶函数给我的感觉就是闭包. function test(a){ return function(b){ return a+b; } } v

Javascript async异步操作库简介

异步操作知识 在js世界中, 异步操作非常流行, nodejs就是特点基于异步非阻塞. js语言支持的异步语法包括, Promise  async await generator yield. 这些语法需要使用者了解非常清楚, 往往很困难. 下面介绍一个异步操作的超级库,可以实现很多异步操作和流程控制. async库 http://caolan.github.io/async/index.html Async is a utility module which provides straight

在NodeJS中使用流程控制工具Async

Async的内容分为三部分: 流程控制:简化十种常见流程的处理 集合处理:如何使用异步操作处理集合中的数据 工具类:几个常用的工具类 本文介绍其中最简单最常用的流程控制部分. 由于nodejs是异步编程模型,有一些在同步编程中很容易做到的事情,现在却变得很麻烦.Async的流程控制就是为了简化这些操作. 安装 npm install async --save -d 1.async.waterfall实例(多个函数依次执行,且前一个的输出为后一个的输入) 这个函数名为waterfall(瀑布),可

node.js中async的使用

async,node.js是一个流程控制库. async.series串行执行一组函数,第一个参数是一个由函数组成的数组或json,第二个参数是回调函数.回调函数里先执行task1的返回结果,再处理task2的. task1一旦出错,task2不执行.依次输出task1,task2的result. var async = require("async"); var fs = require("fs"); async.series([ //task1 function

珠峰培训node正式课笔记 -- 【async】任务流程控制,异步流程控制

var async = require('async'); // series 串形任务 console.time('cost') async.series({ two:function(callback){ setTimeout(function(){ console.log('串形任务two'); //第一个参数 错误原因,当为真时,接收函数err参数接收到原因,并定为报错,停止执行后边的任务 callback(null,'串形任务two 执行完毕'); },1000) }, one:fun