最近在练习的时候发现一个问题,多次运行setInterval、setTimeout时它们的间隔会越来越短,找资料时查到@fineline的这篇解答——javascript中setInterval越来越快的问题解决方法,马一下。
博主给出了两种方法
var timer
function do(){
//clearInterval要放在方法开始,不然的话,下面的代码还没运行到clearInterval,又开始了循环了。
clearInterval(timer)
//do something....
timer = setInterval(()=>{
do()
},1000)
}
do()
或
function do(){
//do something....
setTimeout(()=>{
do()
},1000)
}
do()