date()与定时器相关
我在小程序中做了个定时器函数,每秒钟根据手机当前时间和一些参数,更新按钮状态。问题:当小程序启动后,切换后台更改手机时间。1、当时间向前调整时,通过new Date()获取的时间正常,所以按钮状态更新正常;2、当时间向后调整时,会有一段时间的延时(1-2分钟),new Date()才能获取更新后的时间,这段时间按钮状态不能正常更新。
这情况是在应用中发现的。启动小程序后,第一次登陆按钮的时间控制状态正常,退到后台(没有退出)一段时间,比如1-2小时。再打开小程序(后台切换至前台),时间获取不正常,所以按钮也没有更新。
代码片段:
// 设置定时器,2秒钟检查状态
this.data.loopCheckBtn = setInterval(this.checkBtnStatus, 2000);
checkBtnStatus(){
let tmp_date = new Date()
//业务逻辑省略
console.log(‘time:%s,time’ , tmp_date)
}