小程序ios计时器bug
本人在开发小程序的时候项目需要用到扫码开门之后记录时间,所以需要用到一个计时器这里出现了问题:
计时器不能清除干净
解
官方提供了计时器方法:
function formatTime(time) {
if (typeof time !== 'number' || time < 0) {
return time
}
var hour = parseInt(time / 3600)
time = time % 3600
var minute = parseInt(time / 60)
time = time % 60
var second = time
return ([hour, minute, second]).map(function (n) {
n = n.toString()
return n[1] ? n : '0' + n
}).join(':')
}
第二步:你需要定义一个全局变量
var recordTimeInterval="";
recordTimeInterval = setInterval(function(){console.log(1)},1000)
//清除动作
clearInterval(recordTimeInterval);
但是这样在ios上你会发现时间是被清零了,但是计时器还在跑,解:(再加一句,建议以后使用计时器都这样操作)
recordTimeInterval="";
补充,后来又遇到了问题发现计时器还是在ios上跑,最后的完美解决方案是,使用的时候在前面加一句:
clearInterval(recordTimeInterval);
完整的:
var recordTimeInterval="";//定义
//使用模块
clearInterval(recordTimeInterval);
recordTimeInterval="";
recordTimeInterval = setInterval(function(){console.log(1)},1000)
//可以说是非常保险了,这个是针对ios小程序的,安卓没有问题,可写可不写