鸿蒙开发--定时器
一、setInterval
1、setInterval
setInterval(function callback, number delay, any rest)
设定一个定时器。
参数:
|
参数 |
类型 |
必填 |
描述 |
|---|---|---|---|
|
callback |
function |
是 |
回调函数 。 |
|
delay |
number |
是 |
执行回调函数的时间间隔,单位ms。 兼容数字的字符串,不传、传入非数字的字符串或其它类型,默认按0处理。 |
|
rest |
any |
否 |
param1, param2, ...等附加参数,它们会作为参数传递给回调函数。 |
2、clearInterval
clearInterval(number intervalID)
取消由setInterval设置的定时器。
参数:
|
参数 |
类型 |
必填 |
描述 |
|---|---|---|---|
|
intervalID |
number |
是 |
取消定时器的ID 。 |
二、setTimeout
1、setTimeout
setTimeout(function callback, number delay, any rest)
设定一个定时器。
参数:
|
参数 |
类型 |
必填 |
描述 |
|---|---|---|---|
|
callback |
function |
是 |
回调函数 。 |
|
delay |
number |
是 |
执行回调函数之间的时间间隔,单位ms。 兼容数字的字符串,不传、传入非数字的字符串或其它类型,默认按0处理。 |
|
rest |
any |
否 |
param1, param2, ...等附加参数,它们会作为参数传递给回调函数。 |
2、clearTimeout
clearTimeout(number timeoutID)
取消由 setTimeout 设置的定时器 。
参数:
|
参数 |
类型 |
必填 |
描述 |
|---|---|---|---|
|
timeoutID |
number |
是 |
取消定时器的ID 。 |
三、setInterval 和setTimeout区别
|
特性 |
|
|
|---|---|---|
|
执行次数 |
只执行 1 次(延迟指定时间后执行回调,执行完自动终止) |
重复执行(每隔指定时间执行 1 次回调,除非主动取消) |
|
核心用途 |
延迟一段时间后执行单次操作(如:延迟 2 秒弹窗、3 秒后取消定时器) |
每隔固定时间重复执行操作(如:倒计时、轮询接口、定时刷新 UI) |
|
终止方式 |
无需主动终止(执行后自动失效),也可通过 |
必须通过 |
|
时间精度 |
延迟时间是「最小执行时间」(若主线程繁忙,会顺延) |
间隔时间是「最小间隔时间」(同样可能因主线程阻塞顺延,且多次顺延可能导致回调 “扎堆执行”) |
|
返回值 |
返回唯一的「定时器 ID 对象」,用于 |
返回唯一的「定时器 ID 对象」,用于 |
更多推荐

所有评论(0)