为了账号安全,请及时绑定邮箱和手机立即绑定

js定时每天某个时间,执行异步方法

js定时每天某个时间,执行异步方法

饮歌长啸 2019-05-13 09:48:09
1.页面客户长期打开,需要在每天某个时间进行定时刷新数据(执行异步方法)。2.functiongetProductFileList(){$.ajax({url:MMBS_IP+'/resources/rest/climate/alarm/getProductFileList',type:'get',async:true,beforeSend:ajaxLoading,success:function(data){if(data.length>0){varstrHtml="";for(vari=0;i
查看完整描述

1 回答

?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

谢邀,延伸下2楼的思路,直接定位即可。初次进入的时候,计算当前时间和目标时间的距离,执行一次setTimeout(func,距离时间),第二次开始,把setTimeOut的时候设置成24小时。代码
/*
入参是目标时间的小时数,取值0-23,当然可以根据需要拓展成分钟数,这里主要是提供思路所以从简
*/
functionsetRegular(targetHour){
vartimeInterval,nowTime,nowSeconds,targetSeconds
nowTime=newDate()
//计算当前时间的秒数
nowSeconds=nowTime.getHours()*3600+nowTime.getMinutes()*60+nowTime.getSeconds()
//计算目标时间对应的秒数
targetSeconds=targetHour*3600
//判断是否已超过今日目标小时,若超过,时间间隔设置为距离明天目标小时的距离
timeInterval=targetSeconds>nowSeconds?targetSeconds-nowSeconds:targetSeconds+24*3600-nowSeconds
setTimeout(getProductFileList,timeInterval*1000)
}
functiongetProductFileList(){
$.ajax()//你自己的数据处理函数
setTimeout(getProductFileList,24*3600*1000)//之后每天调用一次
}
setRegular(8);//比如目标是每天早上8点
                            
查看完整回答
反对 回复 2019-05-13
  • 1 回答
  • 0 关注
  • 1108 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号