小程序清除定时器clearinterval无效的原因
微信小程序如果使用了setInterval计时器,默认退回上一页或关闭页面并不会清空定时器clearinterval,这会造成手机过热、无限计时、甚至小程序挂死的情况。
小程序clearinterval无效解决
小程序clearinterval清除定时器无效,原因是定时器使用与清除方法不对导致的,我们应将定时器绑定变量,这样在关闭页面清空定时器clearinterval时,才能找到定时器ID。正确的使用方式如下:
data: {
//设置定时器
loanTime: ''
},
//定时器方法
timer: function() {
let that = this
that.data.loanTime = setInterval(function() {
that.setData({
nowTime: '运行中'
})
}, 1000)
},
//实时定时器
onShow: function() {
this.timer()
},
//清除定时器
onUnload: function() {
clearInterval(this.data.loanTime)
},
检查微信小程序定时器无法清除的原因
我们可在onUnload方法中打印定时器方法
onUnload: function() {
console.log(this.data.loanTime)
},
如果打印出的是int类型ID,说明clearinterval方法找到了定时器,即能正确清除定时器,如果打印出的为空/报错或undefined,则说明定时器未找到,失败,这样就是使用方法有问题,修改为上边提供的方法即可。
联系站长
友情链接
其他入口
QQ与微信加好友
粤ICP备17018681号 站点地图 www.iamdu.com 版权所有 服务商提供:阿里云 Designed by :DU
本站部分资源内容来源于网络,若侵犯您的权益,请联系删除!