date()与定时器相关
发布于 5 年前 作者 lei75 5355 次浏览 来自 问答

我在小程序中做了个定时器函数,每秒钟根据手机当前时间和一些参数,更新按钮状态。问题:当小程序启动后,切换后台更改手机时间。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)

}

3 回复

在找解决方案。

你这是分享代码还是寻求解决办法

回到顶部