JS定时执行指定方法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


    //配置项
    var config={
        time:"00:00:00",//每天几点执行
        interval:1,//隔几天执行一次
        runNow:true//是否立即执行
    };
    timerTask(config);

    //定时任务逻辑
    function timerTask(config){
        if(config.runNow){
            //如果配置了立刻运行则立刻运行任务函数
            queryData();
        }

        //获取下次要执行的时间,如果执行时间已经过了今天,就让把执行时间设到明天的按时执行的时间
        var nowTime=new Date().getTime();
        var timePoint=config.time.split(":").map(i=>parseInt(i));

        var recent =new Date().setHours(...timePoint);//获取执行时间的时间戳

        if(recent <= nowTime){
            recent += 24*60*60*1000;
        }
        //未来程序执行的时间减去现在的时间,就是程序要多少秒之后执行
        var doRunTime=recent-nowTime;
        setTimeout(function(){
            queryData();
            //没隔多少天在执执行
            var intTime=config.interval*24*60*60*1000;
            setInterval(function(){
                queryData();
            },intTime);

        },doRunTime);
    }

    function queryData(){
        console.log("定时任务已经执行了");
    }

总结


本文仅仅简单介绍了JS定时任务的使用。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值