文章目录
文章摘要 AI chatGPT standby chatGPT responsing..
文章摘要 AI chatGPT
standby chatGPT responsing..
JS 中有 setTimeout 和 setInterval 两种常见的定时器, setTimeout 只执行一次, setInterval 会在规定的条件内反复执行以实现不同需求。这次聊的算是老生常谈的问题了,很久以前就知道 setInterval 存在这个问题,当时也各种 stackoverflow 不过具体忘记咋处理的了。现在又突然遇到 setInterval 反复执行越来越快这种情况,顺便记录下。
setTimeout
setInterval
模拟一个错误使用 setinterval 场景
setinterval
var timer, //预设定时器为全局变量 setup=function(){ timer=setInterval(function(){ console.log('repeat this interval 3000/pms.') }, 3000) clear=function(){ clearInterval(timer) setup(); //连续执行多次 setup() 触发定时器加速 clear(); //此时再执行 clear() 无效 setup=function(){ timer=setInterval(function(){ console.log('repeat this interval 3000/pms.'); //clearInterval(timer) //定时器执行完后内部销毁 }, 3000) clear=function(){ clearInterval(timer) run=function(){ clear(); //如果设定过定时器则先清除 setup(); //再执行定时器设定 run() //每次 setup() 前都执行一次 clear()