• 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该定时器在回调被执行后自动删除,或使用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