位置: 编程技术 - 正文

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 一直以来,作为前端开发,在公司都是先写好页面,然后再跟后端合作,将数据填入前端页面中,但是偶尔自己闲来无事,也会看一些框架什么的,然

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

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

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

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

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

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络