位置: 编程技术 - 正文

深入学习nodejs中的async模块的使用方法(nodejs基础教程)

编辑:rootadmin

推荐整理分享深入学习nodejs中的async模块的使用方法(nodejs基础教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:nodejs入门,nodejs详解,nodejs基础知识,nodejs 深入浅出,nodejs怎么学,nodejs 深入浅出,nodejs基础知识,nodejs实战教程,内容如对您有帮助,希望把文章链接给更多的朋友!

最近在学习nodejs,这两天学习了async模块这个地方知识点挺多的,所以,今天添加一点小笔记。

async模块是为了解决嵌套金字塔,和异步流程控制而生.常用的方法介绍

npm 安装好async模块,然后引入就可以使用 var async = require('async');

1. series(tasks,[callback])

多个函数从上到下依次执行,相互之间没有数据交互

运行结果:

如果中途发生错误,则将错误传递到回调函数,并停止执行后面的函数

运行结果:

2.parallel(tasks,[callback])

多个函数并行执行,不会等待其他函数

运行结果:

3个函数分别延迟ms,ms,ms 结果ms就执行完毕.

如果中途出错,则立即将err和值传到最终的回调函数,其他未执行完毕的函数将不再执行,但是要占一个位置

运行结果:

3.waterfall(tasks,[callback]) :瀑布流

依次执行,前一个函数的输出为后一个函数的输入

执行结果:

如果中途出现错误,后面的函数将不在执行,之前执行的结果和错误信息将直接传到最终的回调函数

运行结果:

4.parallelLimit(tasks,limit,[callback])

和parallel类似,只是limit参数限制了同时并发执行的个数,不再是无限并发

运行结果:

深入学习nodejs中的async模块的使用方法(nodejs基础教程)

三个函数分别是延迟ms,ms,ms结果执行时间为什么是ms呢

因为首先执行函数1和2,

3秒后函数2执行完毕,这个时候函数3开始执行,

5秒后函数1执行完毕,函数3还有2秒,

7秒后函数3执行完毕.

5.auto(tasks,[callback])

多个函数有数据交互,有的并行,有的依次执行

运行结果:

5秒运行完毕,

函数1和2并行,3秒执行完毕,

函数1和2执行完毕后,函数3,4依次执行共计5秒.

6.whilst(test,fn,[callback])

相当于while循环,fn函数里不管是同步还是异步都会执行完上一次循环才会执行下一次循环,对异步循环很有帮助,test是条件,为true时执行fn里的方法

运行结果:

7.doWhilst

和whilst类似,和do-while一个意思,首先执行一次fn,再判断,和whilst相比它把fn和test位置交换了而已.

until和whilst相反,当test判断为false的时候执行fn里的方法,为true时跳出,

doUntil与doWhilst相反.

8.forever(fn,errback)

forever就是无限循环了.只有当中途出现错误的时候才会停止

运行结果:

9.compose(fn1,fn2,fn3...)

这个方法会创建一个异步的集合函数,执行的顺序是倒序.前一个fn的输出是后一个fn的输入.有数据交互

运行结果:

相当于 var m=2; (m*2+3)*5 =;

在我的项目开发中waterfall用的最多.

更多方法详情 :

nodejs中解决异步嵌套循环和循环嵌套异步的问题 众所周知,nodejs异步和循环对于初学者来说是一个很大的问题,今天我们就一起来了解和解决它当异步和循环同时出现的时候这个问题就会被放大很多倍.

nodejs中sleep功能实现暂停几秒的方法 我在网上了解了一下nodejs中sleep功能,搜索了很多关于nodejs中sleep功能介绍,下面我来记录一下,有需要了解的朋友可参考。希望此文章对各位有所帮助。一

详解nodejs的express如何自动生成项目框架 本文主要介绍了nodejs的express如何自动生成项目框架,这里整理了详细的代码,有需要的小伙伴可以参考下。nodejs版本为:4.X,express版本为4.X1.全局安装2个模

标签: nodejs基础教程

本文链接地址:https://www.jiuchutong.com/biancheng/380880.html 转载请保留说明!

上一篇:利用node.js实现自动生成前端项目组件的方法详解(node.js使用教程)

下一篇:nodejs中解决异步嵌套循环和循环嵌套异步的问题(node.js异步编程)

  • 初装费包括什么
  • 包装运杂费结转生产成本会计分录
  • 所得税季报季初从业人数
  • 加计扣除企业所得税季报申报
  • 应付债券转为实际债务
  • 退税税额要做进项税转出吗?
  • 红字发票需要做什么科目
  • 什么发票可以用来抵税
  • 建安发票是什么意思
  • 所得税清算时坏账怎么算
  • 代开专票需要去报税吗?
  • 跨县提供建筑服务增值税申报
  • 资产处置税务风险有哪些
  • 员工因公负伤期间公司怎么开工资
  • 实收资本印花税最新规定
  • 银行年费计入管理费用还是财务费用
  • 超市收代金券如何处理
  • 无偿取得股权账务处理
  • 固定资产未开发票怎么入账
  • php常用的开发工具
  • onekey.exe是什么
  • php stream_get_meta_data返回值
  • 总包和分包是什么关系
  • autotun.inf
  • windows无法验证显卡驱动的数字签名
  • 销售收入与销售成本
  • 农产品核定扣除和计算抵扣的区别
  • 企业利润对外投资会计处理
  • 最贵的手机号码值多少钱
  • 无偿赠送房屋要交税吗
  • 所得税 季报
  • php 统计
  • 超级鸽卫星
  • tftp传输命令
  • 美国人用什么英语词典
  • ubuntu系统日志配置文件
  • 为什么计入资本公积
  • 一般纳税人专票认证抵扣流程
  • 持有至到期投资属于流动资产吗
  • 简易征收销售额是什么意思
  • 增值税纳税申报类型怎么填
  • 含税与不含税的计算公式
  • 公司向员工发放的慰问金怎么做账
  • 一般纳税人简易计税方法适用情形
  • 小规模纳税人增值税计算公式
  • 外贸常用的付款方式有哪些
  • 计入资本公积的固定资产处置
  • 税收滞纳金可以扣除吗
  • 交增值税会计凭证怎么做
  • 出口退税企业如何更正申报增值税
  • 网络发票管理办法细则
  • 项目完工后员工工作总结
  • 应收会计怎么做
  • 对公账户与私人账户都是一级
  • 分公司注销余额转总公司会计分录
  • 会计科目设置的相关注意事项
  • 删除用户mysql
  • mysql数据库文件存放在哪里
  • mysql内存占用一直增高不释放
  • centos7+
  • windowsxp怎么用
  • windows无法打开此文件
  • win7提示无法访问权限
  • centos硬盘扩容
  • linux 常用 命令
  • windows注册账号
  • Extjs4中Form的使用之本地hiddenfield
  • 深入linux内核架构与底层原理 pdf
  • perl 匹配不区分大小写
  • 如何使用form表单
  • python过程中遇到的问题
  • unity游戏加密
  • python迭代类型
  • android view类
  • 如何判断python列表长度
  • 武汉 税务局
  • 上海地铁和公交乘车码
  • 工会春游费用怎么报销
  • 单位纳税人什么意思
  • 北京市停车发票
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设