Home > SYS_Timer > setIntervalTimer
SYS_Timer.setIntervalTimer() method
设置循环定时器
签名
typescript
function setIntervalTimer(
id: string,
timeout: number,
callFn: (...args: any) => void,
...args: any
): boolean;1
2
3
4
5
6
2
3
4
5
6
参数名
参数 | 类型 | 描述 |
|---|---|---|
id | string | 定时器 ID,用于定位&删除定时器 |
timeout | number | 定时时间,单位 ms |
callFn | (...args: any) => void | 定时调用函数 |
args | any | 传给定时调用函数的参数 |
返回值
boolean
定时器是否设置成功
备注
如果遇到 ID 重复的定时器,则之前设置的定时器将被清除
示例
javascript
// 1. 设置每 200ms 触发一次的循环定时器,统计触发次数
let tickCount = 0;
const created = eda.sys_Timer.setIntervalTimer('嘉立创示例_循环', 200, () => { tickCount++; });
// 2. 让它运行约 1.5 秒
await new Promise(resolve => setTimeout(resolve, 1500));
const ticksAtClear = tickCount;
// 3. 用完清除,定时器停止(净零收尾,可重复运行)
const cleared = eda.sys_Timer.clearIntervalTimer('嘉立创示例_循环');
// 4. 再等一会,确认清除后没有继续触发
await new Promise(resolve => setTimeout(resolve, 600));
console.log('设置结果:', created);
console.log('清除结果:', cleared);
console.log('运行期间触发次数:', ticksAtClear, ',清除后新增:', tickCount - ticksAtClear);1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17