• 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 | 是 | 定时器到期后执行函数。类型为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