4***@qq.com
4***@qq.com
  • 发布:2023-11-17 16:45
  • 更新:2023-11-17 17:54
  • 阅读:312

【报Bug】setInterval定时器无法被clearTimeout清除

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win11

HBuilderX类型: 正式

HBuilderX版本号: 3.97

手机系统: Android

手机系统版本号: Android 12

手机厂商: 模拟器

手机机型: mete40pro

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

export default {
data() {
return {
title: 'Hello',
isStartAttendTimer: ''
}
},
onLoad() {
this.isStartAttendTimer = setInterval(() => {
console.log("执行定时器")
console.log(this.isStartAttendTimer)
}, 1000);

},  
methods: {  
    clickTimer() {  
        console.log("清除定时器")  
        clearTimeout(this.isStartAttendTimer)  
    }  
}  
}  

</script>

操作步骤:

export default {
data() {
return {
title: 'Hello',
isStartAttendTimer: ''
}
},
onLoad() {
this.isStartAttendTimer = setInterval(() => {
console.log("执行定时器")
console.log(this.isStartAttendTimer)
}, 1000);

},  
methods: {  
    clickTimer() {  
        console.log("清除定时器")  
        clearTimeout(this.isStartAttendTimer)  
    }  
}  
}  

</script>

预期结果:

清除定时器

实际结果:

16:36:47.035 执行定时器 at pages/index/index.vue:21
16:36:47.038 12 at pages/index/index.vue:22
16:36:48.033 执行定时器 at pages/index/index.vue:21
16:36:48.037 12 at pages/index/index.vue:22
16:36:48.587 清除定时器 at pages/index/index.vue:29
16:36:49.030 执行定时器 at pages/index/index.vue:21
16:36:49.033 12 at pages/index/index.vue:22
16:36:50.038 执行定时器 at pages/index/index.vue:21
16:36:50.041 12 at pages/index/index.vue:22
16:36:50.895 清除定时器 at pages/index/index.vue:29
16:36:51.026 清除定时器 at pages/index/index.vue:29
16:36:51.034 执行定时器 at pages/index/index.vue:21
16:36:51.034 12 at pages/index/index.vue:22
16:36:51.228 清除定时器 at pages/index/index.vue:29
16:36:51.389 清除定时器 at pages/index/index.vue:29
16:36:51.543 清除定时器 at pages/index/index.vue:29
16:36:51.724 清除定时器 at pages/index/index.vue:29
16:36:51.947 清除定时器 at pages/index/index.vue:29
16:36:52.035 执行定时器 at pages/index/index.vue:21
16:36:52.039 12 at pages/index/index.vue:22

bug描述:

setInterval定时器无法被clearTimeout清除 在mumu模拟器 /mete40真机调试都不无法被清除 在浏览器可以清除

2023-11-17 16:45 负责人:无 分享
已邀请:
爱豆豆

爱豆豆 - 办法总比困难多

写错了吧!
你用的是setInterval不应该使用clearInterval来清除定时器吗?
setInterval ==> clearInterval
setTimeout ==> clearTimeout

要回复问题请先登录注册