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