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## 属性
18
19**系统能力**:SystemCapability.ResourceSchedule.WorkScheduler
20
21| 名称 | 类型 | 可读 | 可写 | 说明 |
22| -------- | -------- | -------- | -------- | -------- |
23| context<sup>10+</sup> | [WorkSchedulerExtensionContext](js-apis-inner-application-WorkSchedulerExtensionContext.md)  | 是 | 否 | WorkSchedulerExtension的上下文环境,继承自ExtensionContext。 |
24
25## WorkSchedulerExtensionAbility.onWorkStart
26
27onWorkStart(work: workScheduler.WorkInfo): void
28
29开始延迟任务调度回调。
30
31**系统能力:** SystemCapability.ResourceSchedule.WorkScheduler
32
33**参数**:
34
35| 参数名  | 类型                                       | 必填   | 说明             |
36| ---- | ---------------------------------------- | ---- | -------------- |
37| work | [workScheduler.WorkInfo](js-apis-resourceschedule-workScheduler.md#workinfo) | 是    | 要添加到执行队列的任务。 |
38
39**示例:** 
40
41  ```ts
42  import { workScheduler } from '@kit.BackgroundTasksKit';
43
44  export default class MyWorkSchedulerExtensionAbility extends WorkSchedulerExtensionAbility {
45    onWorkStart(workInfo: workScheduler.WorkInfo) {
46        console.log('MyWorkSchedulerExtensionAbility onWorkStart' + JSON.stringify(workInfo));
47    }
48  }
49  ```
50
51## WorkSchedulerExtensionAbility.onWorkStop
52
53onWorkStop(work: workScheduler.WorkInfo): void
54
55结束延迟任务调度回调。
56
57**系统能力:** SystemCapability.ResourceSchedule.WorkScheduler
58
59**参数**:
60
61| 参数名  | 类型                                       | 必填   | 说明             |
62| ---- | ---------------------------------------- | ---- | -------------- |
63| work | [workScheduler.WorkInfo](js-apis-resourceschedule-workScheduler.md#workinfo) | 是    | 执行队列中要结束回调的任务。 |
64
65
66**示例:** 
67
68  ```ts
69  import { workScheduler } from '@kit.BackgroundTasksKit';
70
71  export default class MyWorkSchedulerExtensionAbility extends WorkSchedulerExtensionAbility {
72    onWorkStop(workInfo: workScheduler.WorkInfo) {
73        console.log('MyWorkSchedulerExtensionAbility onWorkStop' + JSON.stringify(workInfo));
74    }
75  }
76  ```