async流程控制函数

作者: seafruit | 来源:发表于2016-10-17 09:46 被阅读18次

asyncJavaScript的扩展库。它可以简化Node.js异步操作的书写,使代码更容易被读懂,而不是嵌套一堆的括号让人头大。
我们可以使用Node.js的包管理器npm直接安装它,在shell中输入:

npm install async

这里主要说一下async的流程控制函数。

series函数 串行执行

它的作用就是按照顺序依次执行。

async.series({
    one: function(callback){
        callback(null, 1);
    },
    two: function(callback){
        callback(null, 2); 
    }
  },function(err, results) { 
        console.log(results);
});

输出:{one: 1, two: 2}

series函数的第一个参数可以是一个数组也可以是一个JSON对象,参数类型不同,影响的是返回数据的格式。

**waterfall函数 **瀑布流

waterfall每个函数产生的值,都将传给下一个函数.

 waterfall 的 tasks 参数只能是数组类型。
当有函数出错,其err直接传给最后的callback,出错函数的结果被舍弃,出错函数后面的函数不再执行。

parallel函数 并行执行多个函数

parallel(tasks, [callback]),
每个函数都是立即执行,不需要等待其它函数先执行。传给最终callback的数组中的数据按照tasks中声明的顺序,而不是执行完成的顺序。

tasks参数可以是一个数组或是json对象。
和series函数一样,tasks参数类型不同,返回的results格式会不一样。

parallelLimit函数 并行执行有个数限制的函数

parallelLimit(tasks, limit, [callback])
limit参数限制任务只能同时并发一定数量,而不是无限制并发。

查看demo
https://github.com/seafruit/asyncStudy

相关文章

  • async流程控制函数

    async 是JavaScript的扩展库。它可以简化Node.js异步操作的书写,使代码更容易被读懂,而不是嵌套...

  • 42.async/await

    async异步函数的写法 async关键字用于声明一个异步函数 async异步函数的执行流程 如果只是在funct...

  • node 异步模式

    异步流程控制的包:Async Step

  • 08 - 异步流程控制

    异步流程控制-async 安装: 串行无关联 async.series 按顺序依次执行tasks里面的多个异步函...

  • async和await的使用

    async函数 什么是async函数? async函数是使用async关键字声明的函数。 mdn文档:https:...

  • Async 异步方法区别

    ** Async ** 机制 是什么? Async 是一个流程控制工具包,提供了直接而强大的异步功能。基于**...

  • JS中的async/await -- 异步隧道尽头的亮光

    async函数 简单解释async函数就是Generator函数的语法糖。 Generator函数写法 async...

  • 多线程二

    GCD 栅栏函数 dispatch_barrier_async 控制任务执行顺序,同步 保证线程安全 栅栏函数只能...

  • GCD分析(下)

    栅栏函数的应用 栅栏函数 作用: 控制任务执行顺序,同步 dispatch_barrier_async 前面的任务...

  • 2018-05-22

    async 函数 1. 含义 async 函数是 Generator 函数的语法糖。async函数将Generat...

网友评论

  • b1a32d00d4d8:那如果只有一个函数要执行,应该使用哪一个?

本文标题:async流程控制函数

本文链接:https://www.haomeiwen.com/subject/xgmayttx.html