位置: 编程技术 - 正文

Nodejs回调加超时限制两种实现方法(node 回调函数)

编辑:rootadmin

推荐整理分享Nodejs回调加超时限制两种实现方法(node 回调函数),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:nodejs回调函数详解,node pipe回调,nodejs函数返回值,node.js回调地狱,node.js回调地狱,nodejs 回调,nodejs 回调,nodejs回调函数,内容如对您有帮助,希望把文章链接给更多的朋友!

Nodejs回调加超时限制两种实现方法

Nodejs下的IO操作都是异步的,有时候异步请求返回太慢,不想无限等待回调怎么办呢?我们可以给回调函数加一个超时限制,到一定时间还没有回调就表示失败,继续后面的步骤。

方案1:用async的parallel实现

在这里我用到了async的parallel方法,parallel可以让若干个异步回调的方法并行执行,正常情况下,所有回调函数都完成后会汇集到parallel最终的回调函数里,但是有一种例外,如果其中一个步骤有错误抛出并直接调用parallel最终的回调函数,利用这个特点就可以实现我们要的功能。

我封装了一个函数asyncWrapper, 逻辑比较简单,直接看代码:

async-timer.js

你可以直接运行这个js看看效果:

Nodejs回调加超时限制两种实现方法(node 回调函数)

模块调用方法:

这种方案的好处是对node没有最低版本要求,引入async库就可以用,缺陷是最终返回的值都是在一个参数里面以数组的形式呈现。

方案2:用Promise实现

在promise里面加settimeout,超过时间就reject。

promise-timer.js

模块调用方法:

这种方案要求nodejs版本高于5.0,支持Promise。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Node.js 8 中的 util.promisify的详解 Node.js8于上个月月底正式发布,带来了很多新特性。其中比较值得注意的,便有util.promisify()这个方法。util.promisify()虽然Promise已经普及,但是Node.js里仍

详解nodejs模板引擎制作 关于模板,我倒是用过了不少。最开始要数Java的JSP了,然后接触了PHP的smarty,再就是Python的jinja2,Django内置模板,现在刚开始看Nodejs,也发现了不少类似

详解Nodejs之npm&package.json 一直以来,作为前端开发,在公司都是先写好页面,然后再跟后端合作,将数据填入前端页面中,但是偶尔自己闲来无事,也会看一些框架什么的,然

标签: node 回调函数

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

上一篇:node.js中cluster的使用教程(nodejs inspect)

下一篇:Node.js 8 中的 util.promisify的详解(nodejs+ts)

  • 当月出口的货物,可以过几个月申报吗
  • 什么情况下进项税额需要转出
  • 记账凭证核算形式需要设置的凭证有
  • 预付房租在资产负债表里为什么属于资产
  • 经营性文化事业单位有哪些
  • 现金日记账怎么记账借方还是贷方
  • 企业作为二房东要交什么税
  • 公司清算后未处理财产
  • 未交增值税金额公式
  • 公司开办期间的费用如何处理
  • 4s店的赠品
  • 工程施工的保障措施
  • 股权交易要不要缴纳印花税?
  • 制造费用可以直接转入本年利润吗
  • 享受小型微利企业税收优惠的条件
  • 服装工业企业成立时间
  • 事业单位负债类科目包括哪些科目
  • php参数过滤封装类
  • win10怎么打开移动中心
  • 广告费属于什么费用部门
  • 非营利性组织收到政府拨款转出给其他部门怎么做账
  • 不动产经营租赁包括哪些内容
  • 增值税发票月末怎么账务处理
  • vue3性能对比
  • 山茶花的养殖方法和注意事项视频
  • 稿酬所得计入什么科目
  • 申报表30栏一直不填写会怎么样
  • 解决laravel 5.1报错:No supported encrypter found的办法
  • php上传多文件
  • thinkphp5依赖注入
  • 控制系统动力学
  • 免征增值税怎么入账
  • 税务局手续费返还政策
  • 记账凭证错了
  • 贴现金额的会计分录
  • 同一控制下收购溢价
  • 城镇土地使用税的计税依据
  • 残疾人就业保障金是什么意思啊
  • 其他综合收益为什么不影响利润
  • 投资性房地产折旧和摊销的区别
  • 企业财务费用属于
  • 小企业核算方式选独立核算
  • 银行交党费属于什么业务
  • 以考核为由扣除工资
  • 预付账款属于哪一类账户
  • 公司投资款怎么算
  • 非流动资产增加意味什么
  • 生产性生物资产账务处理
  • 公司打款账号模板图片
  • 行程单发票抬头是什么意思
  • 小规模纳税人购进税控设备如何抵扣
  • 没有销货清单的发票可以报销吗
  • 学校固定资产账记法
  • mysql全部语法
  • mysql8 jdbc连接
  • bios启动项正确设置
  • win10截图截不了怎么办?
  • 苹果mac系统怎么用
  • win8怎么关闭实时保护
  • win8.1技巧
  • rundll32exe应用程序错误
  • win7如何升级到win10有什么要求
  • win8设置无线网络
  • javascript中有几种数据类型
  • Jquery ajax基础教程
  • perl -pi
  • javascriptz
  • javascript的原型,原型链,有什么特点?
  • jquery插件大全
  • 用python写网页
  • js setTimeout opener的用法示例详解
  • jQuery使用$.ajax进行异步刷新的方法(附demo下载)
  • oracle中提取日期时间的特定部分
  • python 编程技巧
  • regedit.exe
  • 基于jquery的框架有哪些
  • unity坐标系转换
  • android 启动器 设置
  • 向境外付款需要代扣代缴所得税吗
  • 车船税完税证明查询官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设