Node.js API详解之 timer模块用法实例分析


Posted in Javascript onMay 07, 2020

本文实例讲述了Node.js API详解之 timer模块用法。分享给大家供大家参考,具体如下:

Node.js API详解之 timer

timer 模块暴露了一个全局的 API,用于在某个未来时间段调用调度函数。
因为定时器函数是全局的,所以使用该 API 无需调用 require(‘timers')。
Node.js 中的计时器函数实现了与 Web 浏览器提供的定时器类似的 API,
它使用了一个不同的内部实现,它是基于 Node.js 事件循环构建的。

setImmediate(callback[, …args])

说明:

预定立即执行的 callback,不需要传递等待时间,在当前执行栈执行完毕后会立即执行setImmediate绑定的回调函数。
callback: 当前回合结束时要调用的函数
…args: 当调用 callback 时要传入的可选参数

demo:

setImmediate(() => {
 console.log('Immediate');
});

clearImmediate(immediate)

说明:

取消一个由 setImmediate() 创建的 Immediate 对象。
immediate: setImmediate() 返回的 Immediate 对象。

demo:

var immediate = setImmediate(() => {
 console.log('Immediate');
});
clearImmediate(immediate)

setInterval(callback, delay[, …args])

说明:

预定每隔 delay 毫秒重复执行的 callback。
callback: 定时器到点时要调用的函数。
delay: 调用 callback 之前要等待的毫秒数。delay 大于 2147483647 或小于 1 时,delay 会被设为 1。
…args: 调用 callback 时要传入的可选参数。

demo:

setInterval((str) => {
 console.log(str);
}, 1000, 'xiaoqiang');
// xiaoqiang
// xiaoqiang
// xiaoqiang
// xiaoqiang
// xiaoqiang

clearInterval(timeout)

说明:

取消一个由 setInterval() 创建的 Timeout 对象
timeout: setInterval() 返回的 Timeout 对象

demo:

var timeout = setInterval((str) => {
 console.log(str);
}, 1000, 'xiaoqiang');
clearInterval(timeout);

setTimeout(callback, delay[, …args])

说明:

预定在 delay 毫秒之后执行的单次 callback。
callback: 定时器到点时要调用的函数。
delay: 调用 callback 之前要等待的毫秒数。delay 大于 2147483647 或小于 1 时,delay 会被设为 1。
…args: 调用 callback 时要传入的可选参数。

demo:

setTimeout((str) => {
 console.log(str);
}, 1000, 'xiaoqiang');
//xiaoqiang

clearTimeout(timeout)

说明:

取消一个由 setTimeout() 创建的 Timeout 对象
timeout: setTimeout() 返回的 Timeout 对象

demo:

var timeout = setTimeout((str) => {
 console.log(str);
}, 1000, 'xiaoqiang');
clearTimeout(timeout);

timeout.unref()

说明:

当调用此方法时,说明定时器不要求事件循环保持活动状态,在callback执行之前如果没有其他任务保持事件循环活跃,
则Node进程退出,callback不会执行。
setTimeout(),setInterval()方法返回的Timeout对象都具有此方法。

demo:

var timeout = setTimeout((str) => {
 console.log(str);
}, 5000, 'xiaoqiang');
timeout.unref();
//进程立马退出,不会执行callback

timeout.ref()

说明:

当调用此方法时,说明定时器要求事件循环保持活动状态。所有定时器默认都会保持事件循环的活动状态,所以不需要单独调用此方法。
除非之前使用timeout.unref()更改了默认值。

demo:

var timeout = setTimeout((str) => {
 console.log(str);
}, 5000, 'xiaoqiang');
timeout.unref();
timeout.ref()
//xiaoqiang

希望本文所述对大家node.js程序设计有所帮助。

Javascript 相关文章推荐
javascript常用方法、属性集合及NodeList 和 HTMLCollection 的浏览器差异
Dec 25 Javascript
js中parseFloat(参数1,参数2)定义和用法及注意事项
Jan 27 Javascript
javascript运行机制之this详细介绍
Feb 07 Javascript
浅析Javascript匿名函数与自执行函数
Feb 06 Javascript
AngularJS 基础ng-class-even指令用法
Aug 01 Javascript
使用jquery.qrcode.js生成二维码插件
Oct 17 Javascript
mpvue 单文件页面配置详解
Dec 02 Javascript
vue组件中iview的modal组件爬坑问题之modal的显示与否应该是使用v-show
Apr 12 Javascript
新手快速入门微信小程序组件库 iView Weapp
Jun 24 Javascript
解决Angularjs异步操作后台请求用$q.all排列先后顺序问题
Nov 29 Javascript
Vue实现浏览器打印功能的代码
Apr 17 Javascript
详解JavaScript之Array.reduce源码解读
Nov 01 Javascript
JS面试题中深拷贝的实现讲解
May 07 #Javascript
javascript 代码是如何被压缩的示例代码
May 06 #Javascript
Layui弹框中数据表格中可双击选择一条数据的实现
May 06 #Javascript
Vue SSR 即时编译技术的实现
May 06 #Javascript
深入webpack打包原理及loader和plugin的实现
May 06 #Javascript
将Vue组件库更换为按需加载的方法步骤
May 06 #Javascript
让IDE识别webpack的别名alias的实现方法
May 06 #Javascript
You might like
php 无极分类(递归)实现代码
2010/01/05 PHP
解析ajax事件的调用顺序
2013/06/17 PHP
php的一个简单加密解密代码
2014/01/14 PHP
WordPress自定义时间显示格式
2015/03/27 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
javascript json 新手入门文档
2009/12/03 Javascript
两个Javascript小tip资料
2010/11/23 Javascript
使用jQuery实现dropdownlist的联动效果(sharepoint 2007)
2011/03/30 Javascript
jQuery选择器基础入门教程
2016/05/10 Javascript
JS使用栈判断给定字符串是否是回文算法示例
2019/03/04 Javascript
使用webpack搭建vue项目及注意事项
2019/06/10 Javascript
Vue触发隐藏input file的方法实例详解
2019/08/14 Javascript
基于Vue.js与WordPress Rest API构建单页应用详解
2019/09/16 Javascript
jQuery实现的上拉刷新功能组件示例
2020/05/01 jQuery
JS表单验证插件之数据与逻辑分离操作实例分析【策略模式】
2020/05/01 Javascript
精确查找PHP WEBSHELL木马的方法(1)
2011/04/12 Python
python 远程统计文件代码分享
2015/05/14 Python
探究Python中isalnum()方法的使用
2015/05/18 Python
python django 访问静态文件出现404或500错误
2017/01/20 Python
使用C++扩展Python的功能详解
2018/01/12 Python
使用pandas读取csv文件的指定列方法
2018/04/21 Python
解决Python3用PIL的ImageFont输出中文乱码的问题
2019/08/22 Python
Python 统计位数为偶数的数字代码详解
2020/03/15 Python
详解python模块pychartdir安装及导入问题
2020/10/22 Python
python中pyqtgraph知识点总结
2021/01/26 Python
matplotlib之多边形选区(PolygonSelector)的使用
2021/02/24 Python
英国最受欢迎的母婴精品品牌:JoJo Maman BéBé
2021/02/17 全球购物
应用化学专业本科生求职信
2013/09/29 职场文书
美容师的职业规划书
2013/12/27 职场文书
《桃花心木》教学反思
2014/02/17 职场文书
文明家庭先进事迹材料
2014/05/14 职场文书
村干部四风问题整改措施
2014/09/30 职场文书
公安派出所所长四风问题个人对照检查材料
2014/10/04 职场文书
优秀少先队员事迹材料
2014/12/24 职场文书
简单的辞职信怎么写
2015/02/28 职场文书
2015年暑期社会实践报告
2015/07/13 职场文书