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一般方法介绍 入门参考
Jun 21 Javascript
jquery 事件冒泡的介绍以及如何阻止事件冒泡
Dec 25 Javascript
node.js中的buffer.Buffer.isBuffer方法使用说明
Dec 14 Javascript
Javascript中setTimeOut和setInterval的定时器用法
Jun 12 Javascript
javascript通过获取html标签属性class实现多选项卡的方法
Jul 27 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记8)
Dec 24 Javascript
实现JavaScript的组成----BOM和DOM详解
May 18 Javascript
JavaScript数据结构链表知识详解
Nov 21 Javascript
基于百度地图api清除指定覆盖物(Overlay)的方法
Jan 26 Javascript
vue动态改变背景图片demo分享
Sep 13 Javascript
微信小程序设置滚动条过程详解
Jul 25 Javascript
Vue实现指令式动态追加小球动画组件的步骤
Dec 18 Vue.js
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
当年上海收录机产品生产,进口和价格情况
2021/03/04 无线电
php去除HTML标签实例
2013/11/06 PHP
通过AJAX的JS、JQuery两种方式解析XML示例介绍
2013/09/23 Javascript
jqgrid 编辑添加功能详细解析
2013/11/08 Javascript
jQuery中:reset选择器用法实例
2015/01/04 Javascript
JQuery删除DOM节点的方法
2015/06/11 Javascript
原生js实现autocomplete插件
2016/04/14 Javascript
AngularJS实现按钮提示与点击变色效果
2016/09/07 Javascript
jQuery 判断元素整理汇总
2017/02/28 Javascript
如何写好你的JavaScript【推荐】
2017/03/02 Javascript
js获取文件里面的所有文件名(实例)
2017/10/17 Javascript
浅析node Async异步处理模块用例分析及常用方法介绍
2017/11/17 Javascript
vue与vue-i18n结合实现后台数据的多语言切换方法
2018/03/08 Javascript
vue + element-ui的分页问题实现
2018/12/17 Javascript
ES6知识点整理之数组解构和字符串解构的应用示例
2019/04/17 Javascript
jQuery使用jsonp实现百度搜索的示例代码
2020/07/08 jQuery
js canvas实现俄罗斯方块
2020/10/11 Javascript
Python聚类算法之基本K均值实例详解
2015/11/20 Python
python 内置函数filter
2017/06/01 Python
Scrapy框架CrawlSpiders的介绍以及使用详解
2017/11/29 Python
Python进度条实时显示处理进度的示例代码
2018/01/30 Python
Python可变和不可变、类的私有属性实例分析
2019/05/31 Python
python实现实时视频流播放代码实例
2020/01/11 Python
Python-opencv 双线性插值实例
2020/01/17 Python
Python爬虫实现vip电影下载的示例代码
2020/04/20 Python
python 数据类型强制转换的总结
2021/01/25 Python
法国滑雪假期的专家:Ski Planet
2019/11/02 全球购物
一套C++笔试题面试题
2012/06/06 面试题
下列程序在32位linux或unix中的结果是什么
2014/03/25 面试题
JavaScript获取当前url根目录(路径)
2014/02/19 面试题
副厂长岗位职责
2014/02/02 职场文书
大学秋游活动方案
2014/02/11 职场文书
幼儿园门卫岗位职责范本
2014/07/02 职场文书
机关作风建设剖析材料
2014/10/11 职场文书
2015年保险公司个人工作总结
2015/05/22 职场文书
解决mysql模糊查询索引失效问题的几种方法
2021/06/18 MySQL