今天在微信小程序遇到了一个问题
我的代码是这样的
// 关闭动画函数
AnimationOff() {
//定义时间间隔器
clearInterval(this.animationTimer)
},
DefineAnimation() {
//定义时间间隔器
this.animationTimer = setInterval(() => {
console.log("执行");
}, 1000)
},
但是当我执行了 AnimationOff 发现 clearInterval 并没有关掉时间间隔期
网上很多人说 在 开发者工具 右上角 点击详情 选择本地设置 将 自动运行体验评分 关掉
但显然没有作用
其实这个问题叫定时器重构 我们要防止这种事情发生
将代码改成了这样
// 关闭动画函数
AnimationOff() {
//定义时间间隔器
clearInterval(this.animationTimer)
},
DefineAnimation() {
//先清空 时间间隔期 防止重造问题
clearInterval(this.animationTimer)
//定义时间间隔器
this.animationTimer = setInterval(() => {
console.log("执行");
}, 1000)
},
简单说 在要定义之前 先用 clearInterval 清楚一下 可以说这个问题还是非常坑的 希望官方能够修复吧
不然对没经历过的人来说真的不要太不友好