node - 定时调度 (上篇)

简介: node - 定时调度 (上篇)

node.js中的定时器是一种会在一段时间后调用给定的函数的内部构造。何时调用定时器函数取决于用来创建定时器的方法,以及node.js时间循环正在执行的其他工作。


setImmediate


node.js定义了setImmediate(callback[, ...args])方法,用于设定定时器为立即执行定时器。其中参数:callback<function>指在当前回合的Node.js事件循环结束时调用的函数;...args<any>指当调用callback时传入的可选参数。


当多次调用setImmediate()时,callback函数将按照创建它们的顺序排队等待执行。每次事件循环迭代都会处理整个回调队列。如果立即(immediate)定时器是从正在执行的回调排入队列,则直到下一次事件循环迭代才会触发。


如果callback不是函数,则抛出typeError

此方法具有使用util.promisify()的用于Promise的自定义变体。


const util = require("util")
const setImmediatePromise = util.promisify(setImmediate)
setImmediatePromise("foobar").then((valur) => {
    // value === "foobar"(传值是可选的)
    // 在所有I/O回调之后执行
})
// 或使用异步功能
async function timerExample() {
    console.log("在I/o回调之前")
    await setImmediatePromise()
    console.log("在I/O回调之后")
}
timerExample()
复制代码


setInterval


setInterval(callback, delay[, ...args])方法,用于设定定时器执行的周期,定时器每隔delay毫秒重复执行一次。其中参数: callback<function>指在当前回合的Node.js事件循环结束时调用的函数;delay<number>指调用callback之前等待的毫秒数;...args<any>指当前调用callback时传入的可选参数。


  • 如果当delay大于2 147 483 647(即32位整型的最大值)或小于1时,delay将设置位1
  • 如果callback不是函数,则抛出typeError异常。
相关文章
|
JavaScript 前端开发 调度
node - 定时调度 (下篇)
node - 定时调度 (下篇)
|
5天前
|
JavaScript
nodejs安装之npm ERR! code CERT_HAS_EXPIREDnpm ERR! errno CERT_HAS_EXPIRED reason: certificate has expired-证书错误通用问题解决方案-优雅草央千澈
nodejs安装之npm ERR! code CERT_HAS_EXPIREDnpm ERR! errno CERT_HAS_EXPIRED reason: certificate has expired-证书错误通用问题解决方案-优雅草央千澈
|
2月前
|
Web App开发 JavaScript 前端开发
2024年5月node.js安装(winmac系统)保姆级教程
本篇博客为2024年5月版Node.js安装教程,适用于Windows和Mac系统。作者是一名熟悉JavaScript与Vue的大一学生,分享了Node.js的基本介绍、下载链接及简单安装步骤。安装完成后,通过终端命令`node -v`验证版本即可确认安装成功。欢迎关注作者,获取更多技术文章。
38 2
2024年5月node.js安装(winmac系统)保姆级教程
|
2月前
|
存储 JavaScript 搜索推荐
Node框架的安装和配置方法
安装 Node 框架是进行 Node 开发的第一步,通过正确的安装和配置,可以为后续的开发工作提供良好的基础。在安装过程中,需要仔细阅读相关文档和提示,遇到问题及时解决,以确保安装顺利完成。
124 2
|
4月前
|
JavaScript
NodeJs的安装
文章介绍了Node.js的安装步骤和如何创建第一个Node.js应用。包括从官网下载安装包、安装过程、验证安装是否成功,以及使用Node.js监听端口构建简单服务器的示例代码。
NodeJs的安装
|
3月前
|
JavaScript 开发工具 git
已安装nodejs但是安装hexo报错
已安装nodejs但是安装hexo报错
52 2
|
3月前
|
JavaScript 算法 内存技术
如何降低node.js版本(nvm下载安装与使用)
如何降低node.js版本(nvm下载安装与使用)
|
4月前
|
存储 JavaScript 前端开发
Node 版本控制工具 NVM 的安装和使用(Windows)
本文介绍了NVM(Node Version Manager)的Windows版本——NVM for Windows的安装和使用方法,包括如何安装Node.js的特定版本、列出已安装版本、切换使用不同版本的Node.js,以及其他常用命令,以实现在Windows系统上对Node.js版本的便捷管理。
Node 版本控制工具 NVM 的安装和使用(Windows)
|
4月前
|
SQL JavaScript 数据库
sqlite在Windows环境下安装、使用、node.js连接
sqlite在Windows环境下安装、使用、node.js连接
|
3月前
|
Web App开发 JavaScript 前端开发
JavaWeb 22.Node.js_简介和安装
JavaWeb 22.Node.js_简介和安装