1# @ohos.WorkSchedulerExtensionAbility (延迟任务调度回调)
2
3本模块提供延迟任务回调能力。开发者可重写模块接口,在延迟任务触发时,系统可通过本模块接口回调应用,在回调里处理任务逻辑。
4
5>  **说明:**
6>
7>  - 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8>
9>  - 本模块接口仅可在Stage模型下使用。
10
11## 导入模块
12
13```ts
14import { WorkSchedulerExtensionAbility } from '@kit.BackgroundTasksKit';
15```
16
17## WorkSchedulerExtensionContext<sup>10+</sup>
18
19type WorkSchedulerExtensionContext = _WorkSchedulerExtensionContext
20
21**系统能力**:SystemCapability.ResourceSchedule.WorkScheduler
22
23| 类型 | 说明 |
24| -------- |  -------- |
25| [_WorkSchedulerExtensionContext](js-apis-inner-application-WorkSchedulerExtensionContext.md)|  WorkSchedulerExtension的上下文环境。 |
26
27## WorkSchedulerExtensionAbility
28
29### 属性
30
31**系统能力**:SystemCapability.ResourceSchedule.WorkScheduler
32
33| 名称 | 类型 | 可读 | 可写 | 说明 |
34| -------- | -------- | -------- | -------- | -------- |
35| context<sup>10+</sup> | [WorkSchedulerExtensionContext](js-apis-inner-application-WorkSchedulerExtensionContext.md)  | 是 | 否 | WorkSchedulerExtension的上下文环境,继承自ExtensionContext。 |
36
37### onWorkStart
38
39onWorkStart(work: workScheduler.WorkInfo): void
40
41开始延迟任务调度回调。
42
43**系统能力:** SystemCapability.ResourceSchedule.WorkScheduler
44
45**参数**:
46
47| 参数名  | 类型                                       | 必填   | 说明             |
48| ---- | ---------------------------------------- | ---- | -------------- |
49| work | [workScheduler.WorkInfo](js-apis-resourceschedule-workScheduler.md#workinfo) | 是    | 要添加到执行队列的任务。 |
50
51**示例:**
52
53  ```ts
54  import { workScheduler } from '@kit.BackgroundTasksKit';
55
56  export default class MyWorkSchedulerExtensionAbility extends WorkSchedulerExtensionAbility {
57    onWorkStart(workInfo: workScheduler.WorkInfo) {
58        console.log('MyWorkSchedulerExtensionAbility onWorkStart' + JSON.stringify(workInfo));
59    }
60  }
61  ```
62
63### onWorkStop
64
65onWorkStop(work: workScheduler.WorkInfo): void
66
67结束延迟任务调度回调。
68
69**系统能力:** SystemCapability.ResourceSchedule.WorkScheduler
70
71**参数**:
72
73| 参数名  | 类型                                       | 必填   | 说明             |
74| ---- | ---------------------------------------- | ---- | -------------- |
75| work | [workScheduler.WorkInfo](js-apis-resourceschedule-workScheduler.md#workinfo) | 是    | 执行队列中要结束回调的任务。 |
76
77
78**示例:**
79
80  ```ts
81  import { workScheduler } from '@kit.BackgroundTasksKit';
82
83  export default class MyWorkSchedulerExtensionAbility extends WorkSchedulerExtensionAbility {
84    onWorkStop(workInfo: workScheduler.WorkInfo) {
85        console.log('MyWorkSchedulerExtensionAbility onWorkStop' + JSON.stringify(workInfo));
86    }
87  }
88  ```