js定时器,实现每天早上9点执行代码片段,完整代码

本文展示了如何使用JavaScript实现一个定时任务,该任务会在每天的9点执行指定的代码片段。通过setScheduledTask函数设置任务,doTask函数作为要执行的代码,实现了每天定时触发Ajax请求下载数据的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


js定时器,实现每天早上9点执行代码片段,完整代码


1.hour:小时,minute:分钟,callTask:函数

function setScheduledTask(hour, minute, callTask) {
			let taskTime = new Date();
			taskTime.setHours(hour);
			taskTime.setMinutes(minute);
			let timeDiff = taskTime.getTime() - (new Date()).getTime(); // 获取时间差
			timeDiff = timeDiff > 0 ? timeDiff : (timeDiff + 24 * 60 * 60 * 1000);
			setTimeout(function() {
				callTask(); // 首次执行
				//1为一小时执行一次,24为一天
				setInterval(callTask, 1 * 60 * 60 * 1000); // 24小时为循环周期
			}, timeDiff);
		}
		//doTask为callTask方法
function doTask(){
			var data = {};
			$.ajax({
				url: '/excel/download',
				data: data,
				success: function (result) {
					console.log('发送成功');
				},
				error: function () {
					console.log('发送失败');
				}
			});
			return false;
}
  1. //执行代码
setScheduledTask(15, 16, doTask);
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值