• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 | 是 | 定时器到期后执行函数。 |
22| delay | number | 否 | 延迟的毫秒数,函数的调用会在该延迟之后发生。如果省略该参数,delay取默认值0,意味着“马上”执行,或尽快执行。 |
23| ...arguments | 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: Function | string, delay: number, ...arguments: any[]): number
75
76重复调用一个函数,在每次调用之间具有固定的时间延迟。
77
78**系统能力:** SystemCapability.ArkUI.ArkUI.Full
79
80**参数:**
81
82| 参数名 | 类型 | 必填 | 说明 |
83| -------- | -------- | -------- | -------- |
84| handler | Function \| string | 是 | 要重复调用的函数。 |
85| delay | number | 是 | 延迟的毫秒数(一秒等于1000毫秒),函数的调用会在该延迟之后发生。 |
86| ...arguments | 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