0


定时器的设置和清除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,

标签: 前端 node.js

本文转载自: https://blog.csdn.net/qq_61214252/article/details/130095899
版权归原作者 是阿丹啊 所有, 如有侵权,请联系我们删除。

“定时器的设置和清除setTimeout、setInterval、setImmediate-NodeJs”的评论:

还没有评论