Javascript中的定时器有哪些?他们的区别及用法是什么?
如下代码演示:
var timer = setInterval(function() {
console.log('test');
}, 1000);
setTimeout(function() {
clearInterval(timer);
}, 3000);
网页端常用:requestAnimationFrame, setInterval, setIimeout
node端常用:nextTick,setImmediate,setIimeout,setInterval
setIimeout,当时间达到后,有机会就执行
setInterval,按照指定间隔后把回调函数加入任务队列,js会逐个执行
setImmediate,任务队列执行完成后马上运行指定代码
nextTick,生成更细颗粒度的任务加入微任务队列,微任务队列优先级高于普通任务队列,在两个队列都有值的情况下,优先执行微任务队列
requestAnimationFrame,与setTimeout相比requestAnimationFrame最大的优势是由系统来决定回调函数的执行时机,它能保证回调函数在屏幕每一次的刷新间隔中只被执行一次,这样就不会引起丢帧现象,常用于动画场景
设置/取消一次 超时:
var timer = setTimeout(()=> {alert("hi");}, 5000)
clearTimeout(timer)
设置/取消反复定时执行
var timer = setInterval(()=> {alert("hi");}, 5000)
clearInterval(timer)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。