返回顶部
首页 > 资讯 > 前端开发 > node.js >快速掌握Node.js中setTimeout和setInterval的使用方法
  • 145
分享到

快速掌握Node.js中setTimeout和setInterval的使用方法

使用方法快速Node 2022-06-04 17:06:16 145人浏览 薄情痞子
摘要

node.js和js一样也有计时器,超时计时器、间隔计时器、及时计时器,它们以及process.nextTick(callback)函数来实现事件调度。今天先学下setTimeout和setInterval

node.jsjs一样也有计时器,超时计时器、间隔计时器、及时计时器,它们以及process.nextTick(callback)函数来实现事件调度。今天先学下setTimeout和setInterval的使用。

一、setTimeout超时计时器(和GCD中的after类似)

node.js中可以使用node.js内置的setTimeout(callback,delayMillSeconds,[args])方法。当调用setTime()时回调函数会在delayMillSeconds后

执行.setTime() 会返回一个定时器对象ID,可以在delayMillSeconds到期前将ID传给clearTimeout(timeoutId)来取消。


function myfunc(){
 console.log("myfunc");
};
var mytimeout=setTimeout(myfunc,1000);
clearTimeout(mytimeout);

"C:Program Files (x86)JetBrainsWEBStORM 11.0.3binrunnerw.exe" F:nodejsnode.exe timer.js

Process finished with exit code 0

如果将clearTimeout(mytimeout);这行注释之后可以看到是会执行myfunc()。


"C:Program Files (x86)JetBrainsWebStorm 11.0.3binrunnerw.exe" F:nodejsnode.exe timer.js
myfunc

Process finished with exit code 0

二、setInterval间隔计时器(和GCD中的dispatch_source_t或NSTimer类似)

间隔计时器用来按定期的时间间隔来执行工作.和setTimeout类似,node.js中内置setInterval(callback,delayMilliSecond,[args])来创建并返回定时器对象Id,通过clearInterval()来取消。



function myfunc(Interval){
 console.log("myfunc "+Interval);
}
var myInterval=setInterval(myfunc,1000,"Interval");
function stopInterval(){
 clearTimeout(myInterval);
 //myInterval.unref();
}
setTimeout(stopInterval,5000);

上面代码是创建setInterval的回调函数myfunc,参数为Interval,setInterval每隔1s执行一次,setTimeout是在5秒之后执行,它的回调函数让间隔计时器取消。


"C:Program Files (x86)JetBrainsWebStorm 11.0.3binrunnerw.exe" F:nodejsnode.exe Interval.js
myfunc Interval
myfunc Interval
myfunc Interval
myfunc Interval

Process finished with exit code 0

三、从事件循环中取消定时器引用

当事件队列中仅存在定时器回调函数时,如果不希望再执行它们,可以使用setInterval和setTimeout返回对象的unref()函数来通知事件循环不要继续。

当unref()和setTimeout结合使用,要用独立计时器来唤醒事件循环,大量使用对性能也会产生影响,应尽量少用。

四、setTimeout和setInterval执行时间是不精确的

它们是间隔一定时间将回调添加到事件队列中,执行也不是太精确


function simpleTimeout(consoleTime)
{
 console.timeEnd(consoleTime);
}
console.time("twoSecond");
setTimeout(simpleTimeout,2000,"twoSecond");

console.time("oneSecond");
setTimeout(simpleTimeout,1000,"oneSecond");

console.time("fiveSecond");
setTimeout(simpleTimeout,5000,"fiveSecond");

console.time("50MillSecond");
setTimeout(simpleTimeout,50,"50MillSecond");

以上代码多执行几次输出的结果也是不一样的。


"C:Program Files (x86)JetBrainsWebStorm 11.0.3binrunnerw.exe" F:nodejsnode.exe timer.js
50MillSecond: 51ms
oneSecond: 1000ms
twoSecond: 2002ms
fiveSecond: 5001ms

Process finished with exit code 0

以上就是本文的全部内容,希望对大家学习Node.js中setTimeout和setInterval的使用方法有所帮助。

--结束END--

本文标题: 快速掌握Node.js中setTimeout和setInterval的使用方法

本文链接: https://lsjlt.com/news/13065.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 快速掌握Node.js中setTimeout和setInterval的使用方法
    Node.js和js一样也有计时器,超时计时器、间隔计时器、及时计时器,它们以及process.nextTick(callback)函数来实现事件调度。今天先学下setTimeout和setInterval...
    99+
    2022-06-04
    使用方法 快速 Node
  • 快速掌握VueRouter使用方法
    目录一、编程式路由导航二、缓存路由组件三、两个新的声明周期钩子四、路由守卫五、路由器的两种工作模式本篇博客会介绍Vue中的VueRouter的基本使用,编程式路由导航增加了我们进行路...
    99+
    2023-01-09
    Vue Router用法 Vue Router原理
  • JavaScript中定时器setTimeout()和setInterval()的用法
    JavaScript提供定时执行代码的功能,叫做定时器(timer),主要由setTimeout()和setInterval()这两个函数来完成。 一、setTimeout() se...
    99+
    2024-04-02
  • 快速掌握Node.js模块封装及使用
    Node.js中也有一些功能的封装,类似C#的类库,封装成模块这样方便使用,安装之后用require()就能引入调用. 一、Node.js模块封装 1.创建一个名为censorify的文件夹 2.在ce...
    99+
    2022-06-04
    模块 快速 Node
  • 快速掌握Node.js环境的安装与运行方法
    安装程序 NodeJS 提供了一些安装程序,都可以在 nodejs.org 这里下载并安装。 Windows 系统下,选择和系统版本匹配的 .msi 后缀的安装文件。Mac OS X 系统下,选择 .pkg...
    99+
    2022-06-04
    快速 环境 方法
  • 快速掌握CSS框架的方法
    简明易懂:CSS框架如何快速上手,需要具体代码示例 简介:CSS框架是前端开发中常用的工具,它可以帮助我们快速构建美观且响应式的网页。然而,对于初学者来说,学习并使用CSS框架可能会有一定的困难。本篇文章将简要介绍CSS框架的基...
    99+
    2024-01-16
    快速上手 CSS框架
  • 快速掌握Fedora 17的方法详解
    要快速掌握Fedora 17,可以按照以下步骤进行:1. 下载和安装Fedora 17:首先,您需要从官方网站上下载Fedora 1...
    99+
    2023-09-23
    Fedora
  • JS快速掌握ES6的class用法
    1.如何构造? 先复习一下es5常用的构建类的方法:首先es5的写法使用原型进行对象的方法的,为什么不在构造函数里添加方法呢?因为实例化对象的时候,会重复的建立好多相同的方法,浪费资...
    99+
    2024-04-02
  • Vue中使用定时器(setInterval、setTimeout)的两种方式
    目录1. 循环执行( setInterval )2. 定时执行 ( setTimeout)js中定时器有两种,一个是循环执行 setInterval,另一个是定时执行 setTime...
    99+
    2023-03-19
    Vue使用定时器 Vue定时器setInterval setTimeout
  • Python如何快速上手? 快速掌握一门新语言的方法
    那么Python如何快速上手?找来了一篇广受好评的新语言学习方法介绍,供大家参考。 听说,你决定要为你的 “技能树” 再添加一门特定的编程语言。那该怎么办呢? 在这篇文章中,作者提出了 12 项关于学习技术...
    99+
    2022-06-04
    快速 一门 上手
  • 快速掌握LeetCode算法题解的方法与技巧
    LeetCode是一个著名的算法题库,由于其题目难度较高,很多人在刷题的时候会遇到各种困难。本文将分享一些快速掌握LeetCode算法题解的方法与技巧,希望能够帮助大家更好地刷题。 一、刷题技巧 1.1 利用题目标签 LeetCode的题目...
    99+
    2023-06-27
    windows numpy leetcode
  • 一文快速掌握Java中的搜索算法和排序算法
    目录一、搜索算法二分算法二、排序算法冒泡排序选择排序插入排序快速排序一、搜索算法 二分算法 二分算法(Binary Search)又称折半查找,是一种高效的查找算法。它的基本思想是:...
    99+
    2023-05-14
    Java搜索算法 Java排序算法 Java算法
  • 如何快速掌握Java中的搜索算法和排序算法
    这篇文章主要介绍“如何快速掌握Java中的搜索算法和排序算法”,在日常操作中,相信很多人在如何快速掌握Java中的搜索算法和排序算法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何快速掌握Java中的搜索算...
    99+
    2023-07-05
  • 如何快速掌握B端项目的设计思路和方法
    本篇内容介绍了“如何快速掌握B端项目的设计思路和方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前言B ...
    99+
    2024-04-02
  • 快速掌握Go语言中使用NumPy对象的技巧
    Go语言是一种强类型编程语言,它的语法简单易懂,同时还拥有快速编译和高效运行的特点。在Go语言中,使用NumPy对象可以帮助我们更加高效地进行科学计算和数据分析。本文将介绍如何,并且会穿插一些演示代码。 导入NumPy包 在使用NumP...
    99+
    2023-08-28
    numpy 对象 教程
  • Python中快速掌握Data Frame的常用操作
    目录掌握Data Frame的常用操作一. 查看DataFrame的常用属性 二. 查改增删DataFrame数据三. 描述分析DataFrame数据 掌握Data Frame的常用...
    99+
    2024-04-02
  • 快速掌握在Linux上安装Go语言的方法
    在Linux上安装Go语言是开发者们开始使用这门编程语言的第一步。Go语言是一门由Google开发的开源编程语言,其简单易学的特点吸引了众多开发者的青睐。本文将介绍如何在Linux系统...
    99+
    2024-03-13
    linux go语言 安装 系统版本
  • 由浅入深快速掌握Java 数组的使用
    目录1.数组定义格式1.1 数组概述1.2 什么是数组1.3 数组的定义格式:2.数组初始化之动态初始化2.1 数组初始化概述2.2 数组初始化方法3.数组元素访问3.1 数组元素访...
    99+
    2024-04-02
  • 学习Go语言的技巧和方法,快速掌握编程技能
    学习一门编程语言是现代社会中越来越重要的技能之一。Go语言作为一种相对年轻但非常受欢迎的编程语言,它具有简洁、高效和可扩展的特点,因此对于想要提升自己的编程能力的人来说,学习Go语言是一个不错的选择。本文将介绍如何高效学习Go语言,轻松掌握...
    99+
    2023-12-30
    编程技能 Go语言学习 高效学习
  • 快速掌握运用Python中len函数的技巧
    快速掌握Python中len函数的使用技巧,需要具体代码示例 Python是一种简洁、易读的编程语言,广泛应用于数据科学、机器学习、网络开发等领域。在Python中,len函数是一个非常常用且重要的函数之一。它用于返回一个对象(...
    99+
    2024-01-29
    Python 使用技巧 len函数
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作