在找解决方案。
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) }
2018-06-27估计是超时错误。建议优化一下后台处理逻辑,不管你后台要返回几千或几万条数据,小程序不能一次显示完,可以做个分页回传,每次回传10-20条记录,通过 上拉或下拉加载后续页数据,并与之前数据拼接起来。 如果是因为后台数据量太大、逻辑复杂造成的延时,可以考虑使用数据库存储过程优化处理效率。你把万条记录查出来,在web端处理,数据库+网络+业务逻辑的累计延时就会很长。
后台数据量大,wx.request请求返回不到数据后台数据运行时间是:14284 [图片] [图片] 第二个是小程序前端获取数据详细,,, 问题是:后台数据运行时间较长,,,后台数据量特别大,,,,可是小程序通过WX.request方法进入了请求,就是带不回来数据,,,后台执行完毕,小程序console什么都没有。。。也不显示什么。。。
2018-06-27