当前位置:   article > 正文

js setInterval+setTimeout定时器轮询+终止轮询_js 轮训异常终止停止轮训

js 轮训异常终止停止轮训

常见的轮询方式:

 window.timer = setInterval(()=>{
 	this.promiseFun()
 },1000)
  • 1
  • 2
  • 3

大家一般都会使用setInterval,但要注意单纯使用它可能导致页面卡死。
原因是setInterval不会清除定时器队列,每重复执行1次都会导致定时器叠加,卡死。但是setTimeout是自带清除定时器的所以可以叠加使用。

更好的轮询方式

window.timer = setInterval(() => {
  setTimeout(this.promiseFun(), 0)
}, 1000)
  • 1
  • 2
  • 3

结束轮询
在需要结束轮询的时候,如果是vue可以在beforeDestroy生命周期函数中销毁定时器

clearInterval(timer)
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/41289
推荐阅读
相关标签
  

闽ICP备14008679号