定时器的设置和清除setTimeout、setInterval、setImmediate-NodeJs

这篇具有很好参考价值的文章主要介绍了定时器的设置和清除setTimeout、setInterval、setImmediate-NodeJs。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

JS是单线程运行逻辑,所有的程序默认在一个线程执行,出现排队执行。所有的定时器中,回调函数会在主线程后事件队列中执行。

1、一次性定时器set/clearTimeout()

             一次性定时器的开启:当间隔时间到了,会调用一次回调函数,间隔时间的单位是毫秒。

              var timer=setTimeout(回调函数,间隔时间)。

                一次性定时器的清除 / 清除已经开启的定时器:clearTimeout(timer)

  // 开启:3000毫秒以后,会调用函数
        var timer = setTimeout(function(){
            console.log('boom')
        } ,3000)
        console.log('结束')

  // 清除
        clearTimeout(timer)

2、周期性定时器

         周期性定时器的开启:每隔一段时间,就会调用一次回调函数,间隔时间的单位也是毫秒。(循环)

        var timer = setInterval(回调函数, 间隔时间)

        清除开启的周期性定时器:clearInterval(timer);

var timer = setInterval(() => {
    console.log('滴滴滴')
}, 3000)
console.log('结束')

// 清除
clearInterval(timer)

3、立即执行定时器

        立即执行定时器的开启:

        var timer = setImmediate(回调函数)

        清除开启的立即执行定时器:clearImmediate(timer)

       process.nextTick(回调函数): 开启后,没有清除的方法。

console.log(2)
setImmediate(() => {
    console.log(1)
})
process.nextTick(() => {
    console.log(4)
})

console.log(3)

//最后的结果是2 3  4 1;

//因为所有的定时器中,回调函数会在主线程后事件队列中执行。而这儿打印2和3是主线程,就先打印2和3,文章来源地址https://www.toymoban.com/news/detail-762487.html

到了这里,关于定时器的设置和清除setTimeout、setInterval、setImmediate-NodeJs的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue3 setup语法糖销毁一个或多个定时器(setTimeout或setInterval)

    如果在页面/组件增加了定时器,就算跳转到其他页面,定时器也不会被清理,这时候就需要手动清理,不然会有意想不到的bug,也会影响性能。 setTimeout是只执行一次,setInterval是循环执行,以下是用setTimeout举例子,如果想要用setInterval,替换一次方法就行。 setTimeout替换成

    2024年02月13日
    浏览(35)
  • VUE设置和清除定时器

    方法一、在生命周期函数beforeDestroy中清除  方法二、使用hook:beforedestroy (推荐) 该方法与在生命周期钩子beforeDestroy中清除定时器的操作原理一样,但更有优势 1.无需在vue实例上定义定时器,减少不必要的内存浪费 2.设置和清除定时器的代码放在一块,可读性维护性更好 三

    2023年04月09日
    浏览(25)
  • JS 定时器setInterval()

    过多的就不描述了,可以直接参考官方文档: 官方文档:https://developer.mozilla.org/en-US/docs/Web/API/setInterval 参考文档:https://www.jianshu.com/p/55b4eb04b1d3 直接上干货 setInterval(参数1,参数2) setInterval(方法名, 1000 * 60 * 1); 描述:定时执行 间隔执行 注意: 1.参数1可以是一个匿名函数 也可以是

    2024年02月13日
    浏览(39)
  • js:定时器setInterval、clearInterval的使用

    定时器:可以在固定时间间隔,重复调用一个函数 文档 https://developer.mozilla.org/zh-CN/docs/Web/API/setInterval 常用的语法 为了避免this指向问题,一般使用箭头函数 输出结果

    2024年02月04日
    浏览(34)
  • 记录--你敢信?比 setTimeout 还快 80 倍的定时器

    很多人都知道, setTimeout 是有最小延迟时间的,根据MDN 文档 setTimeout:实际延时比设定值更久的原因:最小延迟时间中所说: 在浏览器中, setTimeout() / setInterval() 的每调用一次定时器的最小间隔是 4ms,这通常是由于函数嵌套导致(嵌套层级达到一定深度)。 在HTML Standard规范

    2024年01月24日
    浏览(35)
  • JavaScript中两种定时器和清除定时器的使用

    ​ 定时器就是在一段特定的时间后执行某段程序代码。 以指定的时间间隔(时间单位为毫秒)调用一次函数的定时器。 轮循定时器是以指定的时间间隔(时间单位为毫秒)重复调用一个函数的定时器。 clearTimeout(timeoutID) :清除只执行一次的定时器(setTimeout函数)。 timeoutID 为

    2024年02月13日
    浏览(33)
  • ❤ vue清除定时器Bug

    页面加载,清除定时器 clearTimeout(intm) 问题 遇见的需求是:webapp 从A页面进入B页面,B页面点击按钮,加载完B页面的加载效果进入c,从C页面返回A页面,仍然显示B页面的加载效果 结果定时器一直无法清除在destory销毁之中。后来反复查找修改无果。多次翻看以后,突然之间发现

    2024年02月11日
    浏览(27)
  • 关于vue中如何清除定时器的方法

    一、问题 1、在vue中使用setTimeout定时器的时候,可能会遇到关不掉的情况,会存在明明已经在beforeDestroy和destroyed中设置了定时器清除了,但是有时候没生效,定时器还会继续执行。 2、在这里需要说一下setTimeout的使用场景: (1)需要执行一次定时的时候用得到,比如需要在

    2023年04月09日
    浏览(26)
  • STM32 hal库编程定时器清除中断标志位,开启定时器中断会立即进入中断的问题

    1、如果不清除中断标志位,开启定时器中断的话,不能完成相应的计时,会立即进入中断。 2、如果在开启定时器中断前清除了中断标志位,就会等待计时完成再出发中断。 3、主要是针对单次计时使用,尤其是对第一次计时有要求的程序。

    2024年02月01日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包