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 学习笔记 选择器之一
Jul 23 Javascript
基于jquery1.4.2的仿flash超炫焦点图播放效果
Apr 20 Javascript
JS运行耗时操作的延时显示方法
Nov 19 Javascript
javascript静态页面传值的三种方法分享
Nov 12 Javascript
封装获取dom元素的简单实例
Jul 08 Javascript
js style.display=block显示布局错乱问题的解决方法
Sep 21 Javascript
JS html时钟制作代码分享
Mar 03 Javascript
微信小程序 下拉菜单的实现
Apr 06 Javascript
详解Vue用自定义指令完成一个下拉菜单(select组件)
Oct 31 Javascript
JavaScript简单实现动态改变HTML内容的方法示例
Dec 25 Javascript
vue实现页面内容禁止选中功能,仅输入框和文本域可选
Nov 09 Javascript
JavaScript React如何修改默认端口号方法详解
Jul 28 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和Java的des加密解密代码分享
2014/06/26 PHP
Symfony实现行为和模板中取得request参数的方法
2016/03/17 PHP
php 根据自增id创建唯一编号类
2017/04/06 PHP
php数据库的增删改查 php与javascript之间的交互
2017/08/31 PHP
php array 转json及java 转换 json数据格式操作示例
2019/11/13 PHP
刷新页面实现方式总结(HTML,ASP,JS)
2008/11/13 Javascript
jquery 单引号和双引号的区别及使用注意
2013/07/31 Javascript
jquery弹出框的用法示例(一)
2013/08/26 Javascript
js中的cookie的读写操作示例详解
2014/04/17 Javascript
jquery获取html元素的绝对位置和相对位置的方法
2014/06/20 Javascript
关于JS中prototype的理解
2015/09/07 Javascript
javascript冒泡排序小结
2016/04/10 Javascript
AngularJS中下拉框的基本用法示例
2017/10/11 Javascript
什么是Vue.js框架 为什么选择它?
2017/10/17 Javascript
Vue核心概念Action的总结
2019/01/18 Javascript
vue+axios实现post文件下载
2019/09/25 Javascript
layui添加动态菜单与选项卡 AJAX请求的例子
2019/09/25 Javascript
JavaScript进阶(二)词法作用域与作用域链实例分析
2020/05/09 Javascript
three.js显示中文字体与tween应用详析
2021/01/04 Javascript
python 计算文件的md5值实例
2017/01/13 Python
Python外星人入侵游戏编程完整版
2020/03/30 Python
Django基础知识 URL路由系统详解
2019/07/18 Python
python2爬取百度贴吧指定关键字和图片代码实例
2019/08/14 Python
画pytorch模型图,以及参数计算的方法
2019/08/17 Python
Python字典取键、值对的方法步骤
2020/09/30 Python
python生成word合同的实例方法
2021/01/12 Python
美国Randolph太阳镜官网:美国制造的飞行员太阳镜和射击眼镜
2018/06/15 全球购物
法国床上用品商店:La Compagnie du lit
2019/12/26 全球购物
如果让你测试一台高速激光打印机,你都会进行哪些测试
2012/12/04 面试题
白酒市场开发计划书
2014/01/09 职场文书
学生未请假就回家检讨书
2014/09/22 职场文书
考试作弊检讨书
2014/10/21 职场文书
个人作风建设自查报告
2014/10/22 职场文书
写给老婆的保证书
2015/02/27 职场文书
讲解Python实例练习逆序输出字符串
2022/05/06 Python
CSS控制继承中的height能变为可继承吗
2022/06/10 HTML / CSS