如果有两个操作,第一个操作是间隔1秒进行一次,第二个操作是每间隔2秒进行一次,请问JS代码如何写?
时间: 2024-11-05 12:25:33 浏览: 3
执行一个操作2秒后执行另一个操作.rar
你可以使用JavaScript的`setInterval`函数结合两个单独的计时器来实现这个需求。以下是一个示例:
```javascript
let op1Timeout; // 第一个操作的定时器
let op2Timeout; // 第二个操作的定时器
function startFirstOperation() {
if (op1Timeout) {
clearTimeout(op1Timeout);
}
op1Timeout = setTimeout(() => {
// 执行第一个操作的代码
console.log('第一个操作');
startFirstOperation(); // 每隔1秒再次执行
}, 1000);
}
function startSecondOperation() {
if (op2Timeout) {
clearTimeout(op2Timeout);
}
op2Timeout = setTimeout(() => {
// 执行第二个操作的代码
console.log('第二个操作');
startSecondOperation(); // 每隔2秒再次执行
}, 2000);
}
// 开始两个操作
startFirstOperation();
startSecondOperation();
```
在这个例子中,`startFirstOperation`和`startSecondOperation`分别用于启动每个操作的定时器,它们各自负责延时1秒和2秒,并在到达时间后触发相应的操作然后重新设置定时器。
注意,如果两个操作之间的时间差不是整数倍,可能会导致实际执行顺序与预期不符,因为第一个操作的定时器会在第二个定时器之前结束。如果你想精确控制操作的执行顺序,可以考虑使用事件队列(Event Loop)或者其他更复杂的逻辑。
阅读全文