1# Timer (定时器) 2 3本模块提供基础的定时器能力,支持按照指定的时间执行对应函数。 4 5> **说明:** 6> 7> 本模块首批接口从API version 3开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9## setTimeout 10 11setTimeout(handler: Function | string, delay?: number, ...arguments: any[]): number 12 13设置一个定时器,该定时器在定时器到期后执行一个函数。 14该定时器在回调被执行后自动删除,或使用clearTimeout接口手动删除。 15 16**系统能力:** SystemCapability.ArkUI.ArkUI.Full 17 18**参数:** 19 20| 参数名 | 类型 | 必填 | 说明 | 21| -------- | -------- | -------- | -------- | 22| handler | Function \| string | 是 | 定时器到期后执行函数。类型为string则打印Error信息,不进行其他处理。 | 23| delay | number | 否 | 延迟的毫秒数,函数的调用会在该延迟之后发生。如果省略该参数,delay取默认值0,意味着“马上”执行,或尽快执行。 | 24| ...arguments | any[] | 否 | 附加参数,一旦定时器到期,它们会作为参数传递给handler。 | 25 26**返回值:** 27 28| 类型 | 说明 | 29| -------- | -------- | 30| number | 该定时器的ID,为整数。 | 31 32**示例:** 33 34 ```js 35 setTimeout(function() { 36 console.log('delay 1s'); 37 }, 1000); 38 ``` 39 40 41## clearTimeout 42 43clearTimeout(timeoutID?: number): void 44 45可取消通过调用setTimeout()建立的定时器。 46 47**系统能力:** SystemCapability.ArkUI.ArkUI.Full 48 49**参数:** 50 51| 参数名 | 类型 | 必填 | 说明 | 52| -------- | -------- | -------- | -------- | 53| timeoutID | number | 否 | 要取消定时器的ID, 是由setTimeout()返回的。如果省略该参数,则不取消任何定时任务,无任何处理。| 54 55**示例:** 56 57 ```js 58 let timeoutID = setTimeout(function() { 59 console.log('do after 1s delay.'); 60 }, 1000); 61 clearTimeout(timeoutID); 62 ``` 63 64 65## setInterval 66 67setInterval(handler: Function | string, delay: number, ...arguments: any[]): number 68 69重复调用一个函数,在每次调用之间具有固定的时间延迟。 70删除该定时器需手动调用clearInterval接口。 71 72**系统能力:** SystemCapability.ArkUI.ArkUI.Full 73 74**参数:** 75 76| 参数名 | 类型 | 必填 | 说明 | 77| -------- | -------- | -------- | -------- | 78| handler | Function \| string | 是 | 要重复调用的函数。类型为string则打印Error信息,不进行其他处理。| 79| delay | number | 是 | 延迟的毫秒数,函数的调用会在该延迟之后发生。 | 80| ...arguments | any[] | 否 | 附加参数,一旦定时器到期,他们会作为参数传递给handler。 | 81 82**返回值:** 83 84| 类型 | 说明 | 85| -------- | -------- | 86| number | 该定时器的ID,为整数。 | 87 88**示例:** 89 90 ```js 91 setInterval(function() { 92 console.log('do every 1s.'); 93 }, 1000); 94 ``` 95 96 97## clearInterval 98 99clearInterval(intervalID?: number): void 100 101可取消通过setInterval()设置的重复定时任务。 102 103**系统能力:** SystemCapability.ArkUI.ArkUI.Full 104 105**参数:** 106 107| 参数名 | 类型 | 必填 | 说明 | 108| -------- | -------- | -------- | -------- | 109| intervalID | number | 否 | 要取消的重复定时器的ID,是由 setInterval() 返回的。如果省略该参数,则不取消任何定时任务,无任何处理。| 110 111**示例:** 112 113 ```js 114 let intervalID = setInterval(function() { 115 console.log('do every 1s.'); 116 }, 1000); 117 clearInterval(intervalID); 118 ``` 119