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 相关文章推荐
jQuery 使用手册(五)
Sep 23 Javascript
jQuery中:last-child选择器用法实例
Dec 31 Javascript
javascript实现鼠标拖动改变层大小的方法
Apr 30 Javascript
JavaScript实现把数字转换成中文
Jun 29 Javascript
解决js图片加载时出现404的问题
Nov 30 Javascript
解决VUEX兼容IE上的报错问题
Mar 01 Javascript
Vue 使用 Mint UI 实现左滑删除效果CellSwipe
Apr 27 Javascript
JQuery属性操作与循环用法示例
May 15 jQuery
使用layui的layer组件做弹出层的例子
Sep 27 Javascript
js实现图片跟随鼠标移动效果
Oct 16 Javascript
javascript实现弹出层效果
Dec 10 Javascript
小程序实现文字循环滚动动画
Jun 14 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入门源程序
2006/10/09 PHP
php中数字0和空值的区别分析
2014/06/05 PHP
Laravel框架路由和控制器的绑定操作方法
2018/06/12 PHP
php实现快速对二维数组某一列进行组装的方法小结
2019/12/04 PHP
JavaScript 闭包在封装函数时的简单分析
2009/11/28 Javascript
Javascript中的window.event.keyCode使用介绍
2011/04/26 Javascript
JS+JSP checkBox 全选具体实现
2014/01/02 Javascript
javascript实现iframe框架延时加载的方法
2014/10/30 Javascript
js图片轮播效果实现代码
2020/04/18 Javascript
使用postMesssage()实现跨域iframe页面间的信息传递方法
2016/03/29 Javascript
原生js轮播特效
2017/05/18 Javascript
vue+node+webpack环境搭建教程
2017/11/05 Javascript
vue jsx 使用指南及vue.js 使用jsx语法的方法
2017/11/11 Javascript
JavaScript实现Tab标签页切换的最简便方式(4种)
2020/06/28 Javascript
Django静态资源URL STATIC_ROOT的配置方法
2014/11/08 Python
Python回调函数用法实例详解
2015/07/02 Python
详细解读Python中解析XML数据的方法
2015/10/15 Python
python RC4加密操作示例【测试可用】
2019/09/26 Python
python利用JMeter测试Tornado的多线程
2020/01/12 Python
tensorflow模型保存、加载之变量重命名实例
2020/01/21 Python
你可能不知道的Python 技巧小结
2020/01/29 Python
python2 对excel表格操作完整示例
2020/02/23 Python
python利用google翻译方法实例(翻译字幕文件)
2020/09/21 Python
举例详解HTML5中使用JSON格式提交表单
2015/06/16 HTML / CSS
JBL美国官方商店:扬声器、耳机等
2019/12/01 全球购物
.net笔试题
2014/03/03 面试题
汽车技术服务英文求职信范文
2014/01/02 职场文书
远程研修随笔感言
2014/02/10 职场文书
数学国培研修感言
2014/02/13 职场文书
城市规划应届毕业生自荐信
2014/07/04 职场文书
孝敬父母的活动方案
2014/08/31 职场文书
2014年教师节座谈会发言稿
2014/09/10 职场文书
2015年暑期社会实践活动总结
2015/03/27 职场文书
优质护理服务心得体会
2016/01/22 职场文书
一定要知道的 25 个 Vue 技巧
2021/11/02 Vue.js
生命的关键成分来自太空?陨石说是的
2022/04/29 数码科技