setInterval真机测试不正常?
基础库2.9.4,开发工具Stable 1.02.1911180。用setInterval写了一个倒计时秒表,that.renderTime()是画表盘的函数。模拟器测试正常,真机测试时,没有按周期调用starttimePiece函数,无法正常倒计时。 starttimePiece: function () {
const that = this
var millisecond = that.data.millisecond
var second = that.data.second
var minute = that.data.minute
that.data.timePieceTimer = setInterval(function () {
millisecond--
if (millisecond < 0) {
millisecond = 99// 大于等于60秒归零
second--
if (second < 0) {
second = 59 // 大于等于60分归
minute--
if (minute < 10) {
// 少于10补零
that.setData({
minute: '0' + minute
})
} else {
that.setData({
minute: minute
})
}
}
if (second < 10) {
// 少于10补零
that.setData({
second: '0' + second
})
} else {
that.setData({
second: second
})
}
}
if (millisecond < 10) {
// 少于10补零
that.setData({
millisecond: '0' + millisecond
})
} else {
that.setData({
millisecond: millisecond
})
}
if (minute == 0 && second ==0) {
that.setData({
millisecond: '00'
})
clearInterval(that.data.timePieceTimer)
}
that.renderTime()
}, 10)
},