JS实现固定时间点执行某任务

JS执行定时任务,通常用setTimeout和setInterval, 固定在某个时间点执行任务,用setTimeout,以下是一个例子。

<template> 
    <div> 
            <p > 
                选择时间: 
                    <el-date-picker 
                      v-model="value1" 
                      type="datetime" 
                      placeholder="选择日期时间"> 
                    </el-date-picker> 
                <el-button type="primary" @click="job()"> 提交 </el-button> 
            </p> 
 
    </div> 
</template> 
<script> 
    import dayjs from 'dayjs' 
    export default ({ 
        data() { 
            return { 
                value1:"", 
                timer: null, 
            } 
        }, 
 
        mounted() { 
             
        }, 
        methods: { 
            job(){ 
                if(!!this.value1){ 
                let end=dayjs( this.value1 ).unix()*1000; 
                let start=dayjs().unix()*1000; 
                let downcount=end-start; 
                window.setTimeout(function () { 
                    alert("任务开始") 
                }, downcount); 
                } 
     
            } 
             
        } 
    }) 
</script> 

附定时任务方法:

js执行一次

window.setTimeout(function () {},1000);

window.clearTimeout(t1);//去掉定时器

js重复执行

window.setInterval(function (){},1000);

去掉定时器的方法

window.clearInterval(t1);

注意事项

for循环内使用定时要注意 ,setTimeout是异步的

for(let i=0;i < reqData.length; i ++){
setTimeout(function(){
jsfunction(reqData[i]);
console.log(i);
},1000 + i * 1000);
}

你可能感兴趣的:(JS常用示例300+,javascript,开发语言,ecmascript)