js代码实现到时
定时执行函数
使用 setTimeout 方法可以在指定时间后执行一次函数。以下是一个示例代码:
function delayedFunction() {
console.log('这段代码将在3秒后执行');
}
setTimeout(delayedFunction, 3000);
循环定时执行
使用 setInterval 方法可以每隔固定时间重复执行函数。以下代码每2秒执行一次:
function repeatedFunction() {
console.log('这段代码每2秒执行一次');
}
const intervalId = setInterval(repeatedFunction, 2000);
// 清除定时器
// clearInterval(intervalId);
使用Promise实现延迟
结合Promise和async/await可以更优雅地实现延迟:
function delay(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
async function delayedExecution() {
console.log('开始等待');
await delay(5000);
console.log('5秒后执行');
}
delayedExecution();
基于日期的定时执行
如果需要特定时间点执行,可以计算时间差:
function scheduleAt(time) {
const now = new Date();
const target = new Date(time);
const delay = target - now;
if(delay > 0) {
setTimeout(() => {
console.log(`在预定时间 ${target} 执行`);
}, delay);
} else {
console.log('指定时间已过去');
}
}
// 示例:安排在5分钟后执行
const futureTime = new Date(Date.now() + 5 * 60 * 1000);
scheduleAt(futureTime);
取消定时器
所有定时器都可以被取消,需要保存返回的ID:

const timerId = setTimeout(() => {}, 1000);
clearTimeout(timerId);
const intervalId = setInterval(() => {}, 1000);
clearInterval(intervalId);






