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