未验证 提交 e34a463d 编写于 作者: O openharmony_ci 提交者: Gitee

!2099 DFX syscap改造

Merge pull request !2099 from zengyawen/master
...@@ -8,14 +8,13 @@ ...@@ -8,14 +8,13 @@
import faultLogger from '@ohos.faultLogger' import faultLogger from '@ohos.faultLogger'
``` ```
## 系统能力
SystemCapability.HiviewDFX.Hiview.FaultLogger
## FaultType ## FaultType
故障类型枚举。 故障类型枚举。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.HiviewDFX.Hiview.FaultLogger。
| 名称 | 默认值 | 说明 | | 名称 | 默认值 | 说明 |
| -------- | -------- | -------- | | -------- | -------- | -------- |
| NO_SPECIFIC | 0 | 不区分故障类型 | | NO_SPECIFIC | 0 | 不区分故障类型 |
...@@ -27,6 +26,8 @@ SystemCapability.HiviewDFX.Hiview.FaultLogger ...@@ -27,6 +26,8 @@ SystemCapability.HiviewDFX.Hiview.FaultLogger
故障信息数据结构,获取到的故障信息的数据结构。 故障信息数据结构,获取到的故障信息的数据结构。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.HiviewDFX.Hiview.FaultLogger。
| 名称 | 参数类型 | 说明 | | 名称 | 参数类型 | 说明 |
| -------- | -------- | -------- | | -------- | -------- | -------- |
| pid | number | 故障进程的进程id | | pid | number | 故障进程的进程id |
...@@ -44,6 +45,8 @@ querySelfFaultLog(faultType: FaultType, callback: AsyncCallback<Array<Faul ...@@ -44,6 +45,8 @@ querySelfFaultLog(faultType: FaultType, callback: AsyncCallback<Array<Faul
获取当前进程故障信息,该方法通过回调方式获取故障信息数组,故障信息数组内最多上报10份故障信息。 获取当前进程故障信息,该方法通过回调方式获取故障信息数组,故障信息数组内最多上报10份故障信息。
**系统能力:** SystemCapability.HiviewDFX.Hiview.FaultLogger
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
...@@ -78,10 +81,12 @@ faultLogger.querySelfFaultLog(faultLogger.FaultType.JS_CRASH, queryFaultLogCallb ...@@ -78,10 +81,12 @@ faultLogger.querySelfFaultLog(faultLogger.FaultType.JS_CRASH, queryFaultLogCallb
## faultLogger.querySelfFaultLog ## faultLogger.querySelfFaultLog
querySelfFaultLog(faultType: FaultType) : Promise<Array<FaultLogInfo>>; querySelfFaultLog(faultType: FaultType) : Promise<Array<FaultLogInfo>>
获取当前进程故障信息,该方法通过Promise方式返回故障信息数组,故障信息数组内最多上报10份故障信息。 获取当前进程故障信息,该方法通过Promise方式返回故障信息数组,故障信息数组内最多上报10份故障信息。
**系统能力:** SystemCapability.HiviewDFX.Hiview.FaultLogger
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
......
...@@ -11,17 +11,14 @@ import hiAppEvent from '@ohos.hiAppEvent'; ...@@ -11,17 +11,14 @@ import hiAppEvent from '@ohos.hiAppEvent';
``` ```
## 系统能力
SystemCapability.HiviewDFX.HiAppEvent
## hiAppEvent.write ## hiAppEvent.write
write(eventName: string, eventType: EventType, keyValues: object, callback: AsyncCallback<void>): void write(eventName: string, eventType: EventType, keyValues: object, callback: AsyncCallback<void>): void
应用事件打点方法,将事件写入到当天的事件文件中,可接收类型为Json对象的事件参数,使用callback方式作为异步回调。 应用事件打点方法,将事件写入到当天的事件文件中,可接收类型为Json对象的事件参数,使用callback方式作为异步回调。
**系统能力:** SystemCapability.HiviewDFX.HiAppEvent
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
...@@ -53,6 +50,8 @@ write(eventName: string, eventType: EventType, keyValues: object): Promise<vo ...@@ -53,6 +50,8 @@ write(eventName: string, eventType: EventType, keyValues: object): Promise<vo
应用事件打点方法,将事件写入到当天的事件文件中,可接收类型为Json对象的事件参数,使用promise方式作为异步回调。 应用事件打点方法,将事件写入到当天的事件文件中,可接收类型为Json对象的事件参数,使用promise方式作为异步回调。
**系统能力:** SystemCapability.HiviewDFX.HiAppEvent
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
...@@ -87,6 +86,8 @@ configure(config: ConfigOption): boolean ...@@ -87,6 +86,8 @@ configure(config: ConfigOption): boolean
应用事件打点配置方法,可用于配置打点开关、文件目录存储限额大小等功能。 应用事件打点配置方法,可用于配置打点开关、文件目录存储限额大小等功能。
**系统能力:** SystemCapability.HiviewDFX.HiAppEvent
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
...@@ -117,6 +118,8 @@ hiAppEvent.configure({ ...@@ -117,6 +118,8 @@ hiAppEvent.configure({
此接口提供了应用打点的配置选项。 此接口提供了应用打点的配置选项。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.HiviewDFX.HiAppEvent。
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| disable | boolean | 否 | 应用打点功能开关。配置值为true表示关闭打点功能,false表示不关闭打点功能。 | | disable | boolean | 否 | 应用打点功能开关。配置值为true表示关闭打点功能,false表示不关闭打点功能。 |
...@@ -127,6 +130,8 @@ hiAppEvent.configure({ ...@@ -127,6 +130,8 @@ hiAppEvent.configure({
事件类型枚举。 事件类型枚举。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.HiviewDFX.HiAppEvent。
| 名称 | 默认值 | 说明 | | 名称 | 默认值 | 说明 |
| -------- | -------- | -------- | | -------- | -------- | -------- |
| FAULT | 1 | 故障类型事件。 | | FAULT | 1 | 故障类型事件。 |
...@@ -139,6 +144,8 @@ hiAppEvent.configure({ ...@@ -139,6 +144,8 @@ hiAppEvent.configure({
此接口提供了所有预定义事件的事件名称常量。 此接口提供了所有预定义事件的事件名称常量。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.HiviewDFX.HiAppEvent。
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- | -------- |
| USER_LOGIN | string | 是 | 否 | 用户登录事件。 | | USER_LOGIN | string | 是 | 否 | 用户登录事件。 |
...@@ -150,6 +157,8 @@ hiAppEvent.configure({ ...@@ -150,6 +157,8 @@ hiAppEvent.configure({
此接口提供了所有预定义参数的参数名称常量。 此接口提供了所有预定义参数的参数名称常量。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.HiviewDFX.HiAppEvent。
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- | -------- |
| USER_ID | string | 是 | 否 | 用户自定义ID。 | | USER_ID | string | 是 | 否 | 用户自定义ID。 |
......
...@@ -12,24 +12,22 @@ import hidebug from '@ohos.hidebug'; ...@@ -12,24 +12,22 @@ import hidebug from '@ohos.hidebug';
``` ```
## 系统能力
SystemCapability.HiviewDFX.HiProfiler.HiDebug
## hidebug.getNativeHeapSize ## hidebug.getNativeHeapSize
getNativeHeapSize(): bigint getNativeHeapSize(): bigint
获取native heap内存的总大小。 获取native heap内存的总大小。
**系统能力:** SystemCapability.HiviewDFX.HiProfiler.HiDebug
**返回值:**
- **返回值** | 类型 | 说明 |
| 类型 | 说明 | | ------ | --------------------------- |
| -------- | -------- | | bigint | 返回native heap内存总大小。 |
| bigint | 返回native heap内存总大小。 |
- 示例: **示例:**
``` ```
let nativeHeapSize = hidebug.getNativeHeapSize(); let nativeHeapSize = hidebug.getNativeHeapSize();
``` ```
...@@ -41,14 +39,16 @@ getNativeHeapAllocatedSize(): bigint ...@@ -41,14 +39,16 @@ getNativeHeapAllocatedSize(): bigint
获取native heap内存的已分配内存大小。 获取native heap内存的已分配内存大小。
**系统能力:** SystemCapability.HiviewDFX.HiProfiler.HiDebug
- **返回值**
| 类型 | 说明 |
| -------- | -------- |
| bigint | 返回native heap内存的已分配内存。 |
**返回值:**
| 类型 | 说明 |
| ------ | --------------------------------- |
| bigint | 返回native heap内存的已分配内存。 |
- 示例:
**示例:**
``` ```
let nativeHeapAllocatedSize = hidebug.getNativeHeapAllocatedSize(); let nativeHeapAllocatedSize = hidebug.getNativeHeapAllocatedSize();
``` ```
...@@ -60,14 +60,16 @@ getNativeHeapFreeSize(): bigint ...@@ -60,14 +60,16 @@ getNativeHeapFreeSize(): bigint
获取native heap内存的空闲内存大小。 获取native heap内存的空闲内存大小。
**系统能力:** SystemCapability.HiviewDFX.HiProfiler.HiDebug
- **返回值** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | ------ | ------------------------------- |
| bigint | 返回native heap内存的空闲内存。 | | bigint | 返回native heap内存的空闲内存。 |
- 示例: **示例:**
``` ```
let nativeHeapFreeSize = hidebug.getNativeHeapFreeSize(); let nativeHeapFreeSize = hidebug.getNativeHeapFreeSize();
``` ```
...@@ -79,14 +81,16 @@ getPss(): bigint ...@@ -79,14 +81,16 @@ getPss(): bigint
获取应用进程PSS内存大小。 获取应用进程PSS内存大小。
**系统能力:** SystemCapability.HiviewDFX.HiProfiler.HiDebug
- **返回值** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | ------ | ------------------------- |
| bigint | 返回应用进程PSS内存大小。 | | bigint | 返回应用进程PSS内存大小。 |
- 示例: **示例:**
``` ```
let pss = hidebug.getPss(); let pss = hidebug.getPss();
``` ```
...@@ -98,14 +102,16 @@ getSharedDirty(): bigint ...@@ -98,14 +102,16 @@ getSharedDirty(): bigint
获取进程的共享脏内存大小。 获取进程的共享脏内存大小。
**系统能力:** SystemCapability.HiviewDFX.HiProfiler.HiDebug
- **返回值**
| 类型 | 说明 |
| -------- | -------- |
| bigint | 返回进程的共享脏内存大小。 |
**返回值:**
| 类型 | 说明 |
| ------ | -------------------------- |
| bigint | 返回进程的共享脏内存大小。 |
- 示例:
**示例:**
``` ```
let sharedDirty = hidebug.getSharedDirty(); let sharedDirty = hidebug.getSharedDirty();
``` ```
...@@ -117,13 +123,15 @@ startProfiling(filename : string) : void ...@@ -117,13 +123,15 @@ startProfiling(filename : string) : void
启动虚拟机Profiling方法跟踪,`startProfiling()`方法的调用需要与`stopProfiling()`方法的调用一一对应,先开启后关闭,严禁使用`start->start->stop``start->stop->stop``start->start->stop->stop`等顺序的调用方式。 启动虚拟机Profiling方法跟踪,`startProfiling()`方法的调用需要与`stopProfiling()`方法的调用一一对应,先开启后关闭,严禁使用`start->start->stop``start->stop->stop``start->start->stop->stop`等顺序的调用方式。
* **参数** **系统能力:** SystemCapability.HiviewDFX.HiProfiler.HiDebug
**参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------ | ---- | ------------------------------------------------------------ | | -------- | ------ | ---- | ------------------------------------------------------------ |
| filename | string | 是 | 用户自定义的profiling文件名,根据传入的`filename`,将在应用的`files`目录生成`filename.json`文件。 | | filename | string | 是 | 用户自定义的profiling文件名,根据传入的`filename`,将在应用的`files`目录生成`filename.json`文件。 |
* **示例** **示例:**
```js ```js
hidebug.startProfiling("cpuprofiler-20220216"); hidebug.startProfiling("cpuprofiler-20220216");
...@@ -141,7 +149,9 @@ stopProfiling() : void ...@@ -141,7 +149,9 @@ stopProfiling() : void
停止虚拟机Profiling方法跟踪,`stopProfiling()`方法的调用需要与`startProfiling()`方法的调用一一对应,先开启后关闭,严禁使用`start->start->stop``start->stop->stop``start->start->stop->stop`等顺序的调用方式。 停止虚拟机Profiling方法跟踪,`stopProfiling()`方法的调用需要与`startProfiling()`方法的调用一一对应,先开启后关闭,严禁使用`start->start->stop``start->stop->stop``start->start->stop->stop`等顺序的调用方式。
* **示例** **系统能力:** SystemCapability.HiviewDFX.HiProfiler.HiDebug
**示例:**
```js ```js
hidebug.startProfiling("cpuprofiler-20220216"); hidebug.startProfiling("cpuprofiler-20220216");
...@@ -157,15 +167,16 @@ dumpHeapData(filename : string) : void ...@@ -157,15 +167,16 @@ dumpHeapData(filename : string) : void
虚拟机堆导出。 虚拟机堆导出。
* **参数** **系统能力:** SystemCapability.HiviewDFX.HiProfiler.HiDebug
**参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------ | ---- | ------------------------------------------------------------ | | -------- | ------ | ---- | ------------------------------------------------------------ |
| filename | string | 是 | 用户自定义的虚拟机堆文件名,根据传入的`filename`,将在应用的`files`目录生成`filename.heapsnapshot`文件。 | | filename | string | 是 | 用户自定义的虚拟机堆文件名,根据传入的`filename`,将在应用的`files`目录生成`filename.heapsnapshot`文件。 |
* **示例** **示例:**
```js ```js
hidebug.dumpHeapData("heap-20220216"); hidebug.dumpHeapData("heap-20220216");
``` ```
\ No newline at end of file
...@@ -10,9 +10,6 @@ ...@@ -10,9 +10,6 @@
import hilog from '@ohos.hilog'; import hilog from '@ohos.hilog';
``` ```
## 系统能力
SystemCapability.HiviewDFX.HiLog
## hilog.debug ## hilog.debug
...@@ -20,6 +17,8 @@ debug(domain: number, tag: string, format: string, ...args: any[]) : void ...@@ -20,6 +17,8 @@ debug(domain: number, tag: string, format: string, ...args: any[]) : void
debug日志输出,打印debug级别日志。 debug日志输出,打印debug级别日志。
**系统能力:** SystemCapability.HiviewDFX.HiLog
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
...@@ -41,12 +40,14 @@ hilog.debug(0xFF00, "testTag", "%d: %{private}s World %{public}f", 1, "hello", 3 ...@@ -41,12 +40,14 @@ hilog.debug(0xFF00, "testTag", "%d: %{private}s World %{public}f", 1, "hello", 3
09-08 12:49:35.941 1547 2452 D FF00/testTag: 1: hello World 3.0 09-08 12:49:35.941 1547 2452 D FF00/testTag: 1: hello World 3.0
``` ```
## **hilog.info** ## hilog.info
info(domain: number, tag: string, format: string, ...args: any[]) : void info(domain: number, tag: string, format: string, ...args: any[]) : void
info日志输出,打印info级别日志。 info日志输出,打印info级别日志。
**系统能力:** SystemCapability.HiviewDFX.HiLog
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
...@@ -74,6 +75,8 @@ warn(domain: number, tag: string, format: string, ...args: any[]) : void ...@@ -74,6 +75,8 @@ warn(domain: number, tag: string, format: string, ...args: any[]) : void
warn日志输出,打印warn级别日志。 warn日志输出,打印warn级别日志。
**系统能力:** SystemCapability.HiviewDFX.HiLog
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
...@@ -101,6 +104,8 @@ error(domain: number, tag: string, format: string, ...args: any[]) : void ...@@ -101,6 +104,8 @@ error(domain: number, tag: string, format: string, ...args: any[]) : void
error日志输出,打印error级别日志。 error日志输出,打印error级别日志。
**系统能力:** SystemCapability.HiviewDFX.HiLog
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
...@@ -128,6 +133,8 @@ fatal(domain: number, tag: string, format: string, ...args: any[]) : void ...@@ -128,6 +133,8 @@ fatal(domain: number, tag: string, format: string, ...args: any[]) : void
fatal日志输出,打印fatal级别日志。 fatal日志输出,打印fatal级别日志。
**系统能力:** SystemCapability.HiviewDFX.HiLog
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
...@@ -155,6 +162,8 @@ isLoggable(domain: number, tag: string, level: LogLevel) : boolean ...@@ -155,6 +162,8 @@ isLoggable(domain: number, tag: string, level: LogLevel) : boolean
检查一个domain、tag和日志级别是否被禁止打印日志。 检查一个domain、tag和日志级别是否被禁止打印日志。
**系统能力:** SystemCapability.HiviewDFX.HiLog
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
...@@ -173,6 +182,8 @@ hilog.isLoggable(0xFF00, "testTag", hilog.DEBUG); ...@@ -173,6 +182,8 @@ hilog.isLoggable(0xFF00, "testTag", hilog.DEBUG);
用于表示事件类型。 用于表示事件类型。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.HiviewDFX.HiLog。
| 名称 | 默认值 | 说明 | | 名称 | 默认值 | 说明 |
| ----- | ------ | ----------- | | ----- | ------ | ----------- |
| DEBUG | 3 | DEBUG级别。 | | DEBUG | 3 | DEBUG级别。 |
......
...@@ -9,14 +9,13 @@ ...@@ -9,14 +9,13 @@
import hiTraceChain from '@ohos.hiTraceChain'; import hiTraceChain from '@ohos.hiTraceChain';
``` ```
## 系统能力
SystemCapability.HiviewDFX.HiTrace
## HiTraceFlag ## HiTraceFlag
跟踪标志组合类型枚举。 跟踪标志组合类型枚举。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.HiviewDFX.HiTrace。
| 名称 | 默认值 | 说明 | | 名称 | 默认值 | 说明 |
| -------- | -------- | -------- | | -------- | -------- | -------- |
| DEFAULT | 0 | 缺省标志。 | | DEFAULT | 0 | 缺省标志。 |
...@@ -32,6 +31,8 @@ SystemCapability.HiviewDFX.HiTrace ...@@ -32,6 +31,8 @@ SystemCapability.HiviewDFX.HiTrace
跟踪埋点类型枚举。 跟踪埋点类型枚举。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.HiviewDFX.HiTrace。
| 名称 | 默认值 | 说明 | | 名称 | 默认值 | 说明 |
| -------- | -------- | -------- | | -------- | -------- | -------- |
| CS | 0 | 客户端发送类型,标识client侧的发送埋点。 | | CS | 0 | 客户端发送类型,标识client侧的发送埋点。 |
...@@ -44,6 +45,8 @@ SystemCapability.HiviewDFX.HiTrace ...@@ -44,6 +45,8 @@ SystemCapability.HiviewDFX.HiTrace
跟踪通信类型枚举。 跟踪通信类型枚举。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.HiviewDFX.HiTrace。
| 名称 | 默认值 | 说明 | | 名称 | 默认值 | 说明 |
| -------- | -------- | -------- | | -------- | -------- | -------- |
| DEFAULT | 0 | 缺省通信类型 | | DEFAULT | 0 | 缺省通信类型 |
...@@ -55,6 +58,8 @@ SystemCapability.HiviewDFX.HiTrace ...@@ -55,6 +58,8 @@ SystemCapability.HiviewDFX.HiTrace
此接口为HiTraceId对象接口。 此接口为HiTraceId对象接口。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.HiviewDFX.HiTrace。
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| chainId | bigint | 是 | 跟踪链标识。 | | chainId | bigint | 是 | 跟踪链标识。 |
...@@ -68,6 +73,8 @@ begin(name: string, flags: number = HiTraceFlag.DEFAULT): HiTraceId ...@@ -68,6 +73,8 @@ begin(name: string, flags: number = HiTraceFlag.DEFAULT): HiTraceId
开始跟踪,同步接口。 开始跟踪,同步接口。
**系统能力:** SystemCapability.HiviewDFX.HiTrace
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
...@@ -93,6 +100,8 @@ end(id: HiTraceId): void ...@@ -93,6 +100,8 @@ end(id: HiTraceId): void
结束跟踪,同步接口。 结束跟踪,同步接口。
**系统能力:** SystemCapability.HiviewDFX.HiTrace
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
...@@ -113,6 +122,8 @@ getId(): HiTraceId ...@@ -113,6 +122,8 @@ getId(): HiTraceId
获取跟踪标识,同步接口。 获取跟踪标识,同步接口。
**系统能力:** SystemCapability.HiviewDFX.HiTrace
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
...@@ -133,6 +144,8 @@ setId(id: HiTraceId): void ...@@ -133,6 +144,8 @@ setId(id: HiTraceId): void
设置跟踪标识,同步接口。 设置跟踪标识,同步接口。
**系统能力:** SystemCapability.HiviewDFX.HiTrace
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
...@@ -153,6 +166,8 @@ clearId(): void ...@@ -153,6 +166,8 @@ clearId(): void
清除跟踪标识,同步接口。 清除跟踪标识,同步接口。
**系统能力:** SystemCapability.HiviewDFX.HiTrace
**示例:** **示例:**
``` ```
...@@ -167,6 +182,8 @@ createSpan(): HiTraceId ...@@ -167,6 +182,8 @@ createSpan(): HiTraceId
创建跟踪分支,同步接口。 创建跟踪分支,同步接口。
**系统能力:** SystemCapability.HiviewDFX.HiTrace
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
...@@ -187,6 +204,8 @@ tracepoint(mode: HiTraceCommunicationMode, type: HiTraceTracepointType, id: HiTr ...@@ -187,6 +204,8 @@ tracepoint(mode: HiTraceCommunicationMode, type: HiTraceTracepointType, id: HiTr
信息埋点,同步接口。 信息埋点,同步接口。
**系统能力:** SystemCapability.HiviewDFX.HiTrace
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
...@@ -210,6 +229,8 @@ isValid(id: HiTraceId): boolean ...@@ -210,6 +229,8 @@ isValid(id: HiTraceId): boolean
判断HiTraceId对象是否有效,同步接口。 判断HiTraceId对象是否有效,同步接口。
**系统能力:** SystemCapability.HiviewDFX.HiTrace
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
...@@ -235,6 +256,8 @@ isFlagEnabled(id: HiTraceId, flag: HiTraceFlag): boolean ...@@ -235,6 +256,8 @@ isFlagEnabled(id: HiTraceId, flag: HiTraceFlag): boolean
判断HiTraceId对象中指定的跟踪标志是否已置位,同步接口。 判断HiTraceId对象中指定的跟踪标志是否已置位,同步接口。
**系统能力:** SystemCapability.HiviewDFX.HiTrace
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
...@@ -262,6 +285,8 @@ enableFlag(id: HiTraceId, flag: HiTraceFlag): void ...@@ -262,6 +285,8 @@ enableFlag(id: HiTraceId, flag: HiTraceFlag): void
置位HiTraceId对象中指定的跟踪标志,同步接口。 置位HiTraceId对象中指定的跟踪标志,同步接口。
**系统能力:** SystemCapability.HiviewDFX.HiTrace
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
......
...@@ -11,11 +11,6 @@ import hiTraceMeter from '@ohos.hiTraceMeter'; ...@@ -11,11 +11,6 @@ import hiTraceMeter from '@ohos.hiTraceMeter';
``` ```
## 系统能力
SystemCapability.HiviewDFX.HiTrace
## hiTraceMeter.startTrace ## hiTraceMeter.startTrace
startTrace(name: string, taskId: number): void startTrace(name: string, taskId: number): void
...@@ -26,6 +21,8 @@ startTrace(name: string, taskId: number): void ...@@ -26,6 +21,8 @@ startTrace(name: string, taskId: number): void
如果具有相同name的任务是串行执行的,则taskId可以相同。具体示例可参考[hiTraceMeter.finishTrace](#hitracemeterfinishtrace)中的示例。 如果具有相同name的任务是串行执行的,则taskId可以相同。具体示例可参考[hiTraceMeter.finishTrace](#hitracemeterfinishtrace)中的示例。
**系统能力:** SystemCapability.HiviewDFX.HiTrace
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
...@@ -49,6 +46,8 @@ finishTrace(name: string, taskId: number): void ...@@ -49,6 +46,8 @@ finishTrace(name: string, taskId: number): void
finishTrace的name和taskId必须与流程开始的[startTrace](#hitracemeterstarttrace)对应参数值一致。 finishTrace的name和taskId必须与流程开始的[startTrace](#hitracemeterstarttrace)对应参数值一致。
**系统能力:** SystemCapability.HiviewDFX.HiTrace
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
...@@ -91,6 +90,8 @@ traceByValue(name: string, count: number): void ...@@ -91,6 +90,8 @@ traceByValue(name: string, count: number): void
用来标记一个预追踪的数值变量,该变量的数值会不断变化。 用来标记一个预追踪的数值变量,该变量的数值会不断变化。
**系统能力:** SystemCapability.HiviewDFX.HiTrace
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
......
# 启动一个worker # 启动一个Worker
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** > ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 > 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
Worker是与主线程并行的独立线程。创建Worker的线程称之为宿主线程,Worker自身的线程称之为Worker线程。创建Worker传入的url文件在Worker线程中执行,可以处理耗时操作但不可以直接操作UI。
## 导入模块 ## 导入模块
...@@ -10,50 +11,53 @@ ...@@ -10,50 +11,53 @@
import worker from '@ohos.worker'; import worker from '@ohos.worker';
``` ```
## 系统能力
SystemCapability.Utils.Lang
## 属性 ## 属性
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Utils.Lang。
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- | | ---------- | --------------------------------------------------------- | ---- | ---- | ------------------------------------ |
| parentPort | [DedicatedWorkerGlobalScope](#dedicatedworkerglobalscope) | 是 | 是 | worker线程用于与宿主线程通信的对象 | | parentPort | [DedicatedWorkerGlobalScope](#dedicatedworkerglobalscope) | 是 | 是 | worker线程用于与宿主线程通信的对象。 |
## WorkerOptions ## WorkerOptions
worker构造函数函数的选项信息,用于为worker添加其他信息。 Worker构造函数的选项信息,用于为Worker添加其他信息。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Utils.Lang。
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- | | ---- | --------- | ---- | ---- | ---------------------- |
| type | "classic" | 是 | 是 | 按照指定方式执行脚本。 | | type | "classic" | 是 | 是 | 按照指定方式执行脚本。 |
| name | string | 是 | 是 | worker的名称。 | | name | string | 是 | 是 | Worker的名称。 |
## Worker ## Worker
使用以下方法前,均需先构造worker实例,Worker类继承[EventTarget](#eventtarget) 使用以下方法前,均需先构造Worker实例,Worker类继承[EventTarget](#eventtarget)
### constructor ### constructor
constructor(scriptURL: string, options?: WorkerOptions) constructor(scriptURL: string, options?: WorkerOptions)
worker构造函数。 Worker构造函数。
**系统能力:** SystemCapability.Utils.Lang
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | --------- | ------------------------------- | ---- | ------------------------------------------------------------ |
| scriptURL | string | 是 | worker执行脚本的url,路径规范:若DevEco新建工程在pages同级下没有workers目录,需要新建workers目录,将脚本文件放入workers目录。 | | scriptURL | string | 是 | Worker执行脚本的url,路径规范:若DevEco新建工程在pages同级下没有workers目录,需要新建workers目录,将脚本文件放入workers目录。 |
| options | [WorkerOptions](#workeroptions) | 否 | worker构造的选项。 | | options | [WorkerOptions](#workeroptions) | 否 | Worker构造的选项。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | ------ | --------------------------------------------------------- |
| worker | 执行Worker构造函数生成的Worker对象,失败则返回undefined。 | | Worker | 执行Worker构造函数生成的Worker对象,失败则返回undefined。 |
**示例:** **示例:**
...@@ -66,13 +70,15 @@ const workerInstance = new worker.Worker("workers/worker.js", {name:"first worke ...@@ -66,13 +70,15 @@ const workerInstance = new worker.Worker("workers/worker.js", {name:"first worke
postMessage(message: Object, options?: PostMessageOptions): void postMessage(message: Object, options?: PostMessageOptions): void
向worker线程发送消息,数据的传输采用结构化克隆算法。 向Worker线程发送消息,数据的传输采用结构化克隆算法。
**系统能力:** SystemCapability.Utils.Lang
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | ------- | ----------------------------------------- | ---- | ------------------------------------------------------------ |
| message | Object | 是 | 发送至worker的数据。 | | message | Object | 是 | 发送至Worker的数据。 |
| options | [PostMessageOptions](#postmessageoptions) | 否 | 可转移对象是 ArrayBuffer 的实例对象。transferList数组中不可传入null。 | | options | [PostMessageOptions](#postmessageoptions) | 否 | 可转移对象是 ArrayBuffer 的实例对象。transferList数组中不可传入null。 |
**示例:** **示例:**
...@@ -81,6 +87,7 @@ postMessage(message: Object, options?: PostMessageOptions): void ...@@ -81,6 +87,7 @@ postMessage(message: Object, options?: PostMessageOptions): void
const workerInstance = new worker.Worker("workers/worker.js"); const workerInstance = new worker.Worker("workers/worker.js");
workerInstance.postMessage("hello world"); workerInstance.postMessage("hello world");
``` ```
``` ```
const workerInstance= new worker.Worker("workers/worker.js"); const workerInstance= new worker.Worker("workers/worker.js");
var buffer = new ArrayBuffer(8); var buffer = new ArrayBuffer(8);
...@@ -92,12 +99,14 @@ workerInstance.postMessage(buffer, [buffer]); ...@@ -92,12 +99,14 @@ workerInstance.postMessage(buffer, [buffer]);
on(type: string, listener: EventListener): void on(type: string, listener: EventListener): void
向worker添加一个事件监听。 向Worker添加一个事件监听。
**系统能力:** SystemCapability.Utils.Lang
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | ------------------------------- | ---- | ---------------- |
| type | string | 是 | 监听事件的type。 | | type | string | 是 | 监听事件的type。 |
| listener | [EventListener](#eventlistener) | 是 | 回调的事件。 | | listener | [EventListener](#eventlistener) | 是 | 回调的事件。 |
...@@ -115,12 +124,14 @@ workerInstance.on("alert", (e)=>{ ...@@ -115,12 +124,14 @@ workerInstance.on("alert", (e)=>{
once(type: string, listener: EventListener): void once(type: string, listener: EventListener): void
向worker添加一个事件监听,事件监听只执行一次便自动删除。 向Worker添加一个事件监听,事件监听只执行一次便自动删除。
**系统能力:** SystemCapability.Utils.Lang
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | ------------------------------- | ---- | ---------------- |
| type | string | 是 | 监听事件的type。 | | type | string | 是 | 监听事件的type。 |
| listener | [EventListener](#eventlistener) | 是 | 回调的事件。 | | listener | [EventListener](#eventlistener) | 是 | 回调的事件。 |
...@@ -138,12 +149,14 @@ workerInstance.once("alert", (e)=>{ ...@@ -138,12 +149,14 @@ workerInstance.once("alert", (e)=>{
off(type: string, listener?: EventListener): void off(type: string, listener?: EventListener): void
删除worker的事件监听。 删除Worker的事件监听。
**系统能力:** SystemCapability.Utils.Lang
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | ------------------------------- | ---- | ---------------------- |
| type | string | 是 | 需要删除事件的type。 | | type | string | 是 | 需要删除事件的type。 |
| listener | [EventListener](#eventlistener) | 否 | 需要删除的回调的事件。 | | listener | [EventListener](#eventlistener) | 否 | 需要删除的回调的事件。 |
...@@ -159,7 +172,9 @@ workerInstance.off("alert"); ...@@ -159,7 +172,9 @@ workerInstance.off("alert");
terminate(): void terminate(): void
关闭worker线程,终止worker接收消息。 关闭Worker线程,终止Worker接收消息。
**系统能力:** SystemCapability.Utils.Lang
**示例:** **示例:**
...@@ -173,13 +188,15 @@ workerInstance.terminate() ...@@ -173,13 +188,15 @@ workerInstance.terminate()
onexit?: (code: number) => void onexit?: (code: number) => void
Worker对象的onexit属性表示worker退出时被调用的事件处理程序,处理程序在宿主线程中执行。 Worker对象的onexit属性表示Worker退出时被调用的事件处理程序,处理程序在宿主线程中执行。
**系统能力:** SystemCapability.Utils.Lang
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | ------ | ------ | ---- | ------------------ |
| code | number | 否 | worker退出的code。 | | code | number | 否 | Worker退出的code。 |
**示例:** **示例:**
...@@ -195,12 +212,14 @@ workerInstance.onexit = function(e) { ...@@ -195,12 +212,14 @@ workerInstance.onexit = function(e) {
onerror?: (err: ErrorEvent) => void onerror?: (err: ErrorEvent) => void
Worker对象的onerror属性表示worker在执行过程中发生异常被调用的事件处理程序,处理程序在宿主线程中执行。 Worker对象的onerror属性表示Worker在执行过程中发生异常被调用的事件处理程序,处理程序在宿主线程中执行。
**系统能力:** SystemCapability.Utils.Lang
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | ------ | ------------------------- | ---- | ---------- |
| err | [ErrorEvent](#errorevent) | 否 | 异常数据。 | | err | [ErrorEvent](#errorevent) | 否 | 异常数据。 |
**示例:** **示例:**
...@@ -217,13 +236,15 @@ workerInstance.onerror = function(e) { ...@@ -217,13 +236,15 @@ workerInstance.onerror = function(e) {
onmessage?: (event: MessageEvent) => void onmessage?: (event: MessageEvent) => void
Worker对象的onmessage属性表示宿主线程接收到来自其创建的worker通过parentPort.postMessage接口发送的消息时被调用的事件处理程序,处理程序在宿主线程中执行。 Worker对象的onmessage属性表示宿主线程接收到来自其创建的Worker通过parentPort.postMessage接口发送的消息时被调用的事件处理程序,处理程序在宿主线程中执行。
**系统能力:** SystemCapability.Utils.Lang
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | ------ | ----------------------------- | ---- | ---------------------- |
| event | [MessageEvent](#messageevent) | 否 | 收到的worker消息数据。 | | event | [MessageEvent](#messageevent) | 否 | 收到的Worker消息数据。 |
**示例:** **示例:**
...@@ -239,12 +260,14 @@ workerInstance.onmessage = function(e) { ...@@ -239,12 +260,14 @@ workerInstance.onmessage = function(e) {
onmessageerror?: (event: MessageEvent) => void onmessageerror?: (event: MessageEvent) => void
Worker对象的onmessageerror属性表示当 Worker 对象接收到一条无法被序列化的消息时被调用的事件处理程序,处理程序在宿主线程中执行。 Worker对象的onmessageerror属性表示当Worker对象接收到一条无法被序列化的消息时被调用的事件处理程序,处理程序在宿主线程中执行。
**系统能力:** SystemCapability.Utils.Lang
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | ------ | ----------------------------- | ---- | ---------- |
| event | [MessageEvent](#messageevent) | 否 | 异常数据。 | | event | [MessageEvent](#messageevent) | 否 | 异常数据。 |
**示例:** **示例:**
...@@ -264,12 +287,14 @@ workerInstance.onmessageerror= function(e) { ...@@ -264,12 +287,14 @@ workerInstance.onmessageerror= function(e) {
addEventListener(type: string, listener: EventListener): void addEventListener(type: string, listener: EventListener): void
向worker添加一个事件监听。 向Worker添加一个事件监听。
**系统能力:** SystemCapability.Utils.Lang
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | ------------------------------- | ---- | ---------------- |
| type | string | 是 | 监听事件的type。 | | type | string | 是 | 监听事件的type。 |
| listener | [EventListener](#eventlistener) | 是 | 回调的事件。 | | listener | [EventListener](#eventlistener) | 是 | 回调的事件。 |
...@@ -287,12 +312,14 @@ workerInstance.addEventListener("alert", (e)=>{ ...@@ -287,12 +312,14 @@ workerInstance.addEventListener("alert", (e)=>{
removeEventListener(type: string, callback?: EventListener): void removeEventListener(type: string, callback?: EventListener): void
删除worker的事件监听。 删除Worker的事件监听。
**系统能力:** SystemCapability.Utils.Lang
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | ------------------------------- | ---- | ---------------------- |
| type | string | 是 | 需要删除事件的type。 | | type | string | 是 | 需要删除事件的type。 |
| callback | [EventListener](#eventlistener) | 否 | 需要删除的回调的事件。 | | callback | [EventListener](#eventlistener) | 否 | 需要删除的回调的事件。 |
...@@ -308,18 +335,20 @@ workerInstance.removeEventListener("alert") ...@@ -308,18 +335,20 @@ workerInstance.removeEventListener("alert")
dispatchEvent(event: Event): boolean dispatchEvent(event: Event): boolean
分发定义在worker的事件。 分发定义在Worker的事件。
**系统能力:** SystemCapability.Utils.Lang
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | ------ | --------------- | ---- | ---------------- |
| event | [Event](#event) | 是 | 需要分发的事件。 | | event | [Event](#event) | 是 | 需要分发的事件。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | ------- | ------------------------------- |
| boolean | 分发的结果,false表示分发失败。 | | boolean | 分发的结果,false表示分发失败。 |
**示例:** **示例:**
...@@ -334,7 +363,9 @@ workerInstance.dispatchEvent({type:"alert"}) ...@@ -334,7 +363,9 @@ workerInstance.dispatchEvent({type:"alert"})
removeAllListener(): void removeAllListener(): void
删除worker的所有事件监听。 删除Worker的所有事件监听。
**系统能力:** SystemCapability.Utils.Lang
**示例:** **示例:**
...@@ -346,20 +377,22 @@ workerInstance.removeAllListener({type:"alert"}) ...@@ -346,20 +377,22 @@ workerInstance.removeAllListener({type:"alert"})
## DedicatedWorkerGlobalScope ## DedicatedWorkerGlobalScope
worker线程用于与宿主线程通信的类,通过postMessage接口发送消息给宿主线程、close接口关闭worker线程,DedicatedWorkerGlobalScope类继承[WorkerGlobalScope](#workerglobalscope) Worker线程用于与宿主线程通信的类,通过postMessage接口发送消息给宿主线程、close接口关闭Worker线程,DedicatedWorkerGlobalScope类继承[WorkerGlobalScope](#workerglobalscope)
### postMessage ### postMessage
postMessage(message: Object, options?: PostMessageOptions): void postMessage(message: Object, options?: PostMessageOptions): void
worker向宿主线程发送消息。 Worker向宿主线程发送消息。
**系统能力:** SystemCapability.Utils.Lang
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | ------- | ----------------------------------------- | ---- | ------------------------------------------------------------ |
| message | Object | 是 | 发送至worker的数据。 | | message | Object | 是 | 发送至Worker的数据。 |
| options | [PostMessageOptions](#postmessageoptions) | 否 | 可转移对象是ArrayBuffer的实例对象。transferList数组中不可传入null。 | | options | [PostMessageOptions](#postmessageoptions) | 否 | 可转移对象是ArrayBuffer的实例对象。transferList数组中不可传入null。 |
**示例:** **示例:**
...@@ -373,6 +406,7 @@ workerInstance.onmessage = function(e) { ...@@ -373,6 +406,7 @@ workerInstance.onmessage = function(e) {
console.log("receive data from worker.js") console.log("receive data from worker.js")
} }
``` ```
``` ```
// worker.js // worker.js
import worker from '@ohos.worker'; import worker from '@ohos.worker';
...@@ -387,7 +421,9 @@ parentPort.onmessage = function(e){ ...@@ -387,7 +421,9 @@ parentPort.onmessage = function(e){
close(): void close(): void
关闭worker线程,终止worker接收消息。 关闭Worker线程,终止Worker接收消息。
**系统能力:** SystemCapability.Utils.Lang
**示例:** **示例:**
...@@ -396,6 +432,7 @@ close(): void ...@@ -396,6 +432,7 @@ close(): void
import worker from '@ohos.worker'; import worker from '@ohos.worker';
const workerInstance = new worker.Worker("workers/worker.js") const workerInstance = new worker.Worker("workers/worker.js")
``` ```
``` ```
// worker.js // worker.js
import worker from '@ohos.worker'; import worker from '@ohos.worker';
...@@ -410,13 +447,15 @@ parentPort.onmessage = function(e) { ...@@ -410,13 +447,15 @@ parentPort.onmessage = function(e) {
onmessage?: (event: MessageEvent) => void onmessage?: (event: MessageEvent) => void
DedicatedWorkerGlobalScope的onmessage属性表示worker线程收到来自其宿主线程通过worker.postMessage接口发送的消息时被调用的事件处理程序,处理程序在worker线程中执行。 DedicatedWorkerGlobalScope的onmessage属性表示Worker线程收到来自其宿主线程通过worker.postMessage接口发送的消息时被调用的事件处理程序,处理程序在Worker线程中执行。
**系统能力:** SystemCapability.Utils.Lang
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | ------ | ----------------------------- | ---- | ---------------------- |
| event | [MessageEvent](#messageevent) | 否 | 收到的worker消息数据。 | | event | [MessageEvent](#messageevent) | 否 | 收到的Worker消息数据。 |
**示例:** **示例:**
...@@ -426,6 +465,7 @@ import worker from '@ohos.worker'; ...@@ -426,6 +465,7 @@ import worker from '@ohos.worker';
const workerInstance = new worker.Worker("workers/worker.js") const workerInstance = new worker.Worker("workers/worker.js")
workerInstance.postMessage("hello world") workerInstance.postMessage("hello world")
``` ```
``` ```
// worker.js // worker.js
import worker from '@ohos.worker'; import worker from '@ohos.worker';
...@@ -440,12 +480,14 @@ parentPort.onmessage = function(e) { ...@@ -440,12 +480,14 @@ parentPort.onmessage = function(e) {
onmessageerror?: (event: MessageEvent) => void onmessageerror?: (event: MessageEvent) => void
DedicatedWorkerGlobalScope的onmessageerror属性表示当 Worker 对象接收到一条无法被反序列化的消息时被调用的事件处理程序,处理程序在worker线程中执行。 DedicatedWorkerGlobalScope的onmessageerror属性表示当Worker对象接收到一条无法被反序列化的消息时被调用的事件处理程序,处理程序在Worker线程中执行。
**系统能力:** SystemCapability.Utils.Lang
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | ------ | ----------------------------- | ---- | ---------- |
| event | [MessageEvent](#messageevent) | 否 | 异常数据。 | | event | [MessageEvent](#messageevent) | 否 | 异常数据。 |
**示例:** **示例:**
...@@ -455,6 +497,7 @@ DedicatedWorkerGlobalScope的onmessageerror属性表示当 Worker 对象接收 ...@@ -455,6 +497,7 @@ DedicatedWorkerGlobalScope的onmessageerror属性表示当 Worker 对象接收
import worker from '@ohos.worker'; import worker from '@ohos.worker';
const workerInstance = new worker.Worker("workers/worker.js") const workerInstance = new worker.Worker("workers/worker.js")
``` ```
``` ```
// worker.js // worker.js
import worker from '@ohos.worker'; import worker from '@ohos.worker';
...@@ -469,8 +512,10 @@ parentPort.onmessageerror= function(e) { ...@@ -469,8 +512,10 @@ parentPort.onmessageerror= function(e) {
明确数据传递过程中需要转移所有权对象的类,传递所有权的对象必须是ArrayBuffer。 明确数据传递过程中需要转移所有权对象的类,传递所有权的对象必须是ArrayBuffer。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Utils.Lang。
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- | | -------- | -------- | ---- | ---- | --------------------------------- |
| transfer | Object[] | 是 | 是 | ArrayBuffer数组,用于传递所有权。 | | transfer | Object[] | 是 | 是 | ArrayBuffer数组,用于传递所有权。 |
...@@ -478,8 +523,10 @@ parentPort.onmessageerror= function(e) { ...@@ -478,8 +523,10 @@ parentPort.onmessageerror= function(e) {
事件类。 事件类。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Utils.Lang。
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- | | --------- | -------- | ---- | ---- | ---------------------------------- |
| type | string | 是 | 否 | 指定事件的type。 | | type | string | 是 | 否 | 指定事件的type。 |
| timeStamp | number | 是 | 否 | 事件创建时的时间戳(精度为毫秒)。 | | timeStamp | number | 是 | 否 | 事件创建时的时间戳(精度为毫秒)。 |
...@@ -493,16 +540,18 @@ parentPort.onmessageerror= function(e) { ...@@ -493,16 +540,18 @@ parentPort.onmessageerror= function(e) {
执行的回调函数。 执行的回调函数。
**系统能力:** SystemCapability.Utils.Lang
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | ------ | --------------- | ---- | -------------- |
| evt | [Event](#event) | 是 | 回调的事件类。 | | evt | [Event](#event) | 是 | 回调的事件类。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | ------------------------------------- | ------------------------------- |
| void \| Promise<void> | 无返回值或者以Promise形式返回。 | | void \| Promise<void> | 无返回值或者以Promise形式返回。 |
**示例:** **示例:**
...@@ -517,10 +566,12 @@ workerInstance.addEventListener("alert", (e)=>{ ...@@ -517,10 +566,12 @@ workerInstance.addEventListener("alert", (e)=>{
## ErrorEvent ## ErrorEvent
错误事件类,用于表示worker执行过程中出现异常的详细信息,ErrorEvent类继承[Event](#event) 错误事件类,用于表示Worker执行过程中出现异常的详细信息,ErrorEvent类继承[Event](#event)
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Utils.Lang。
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- | | -------- | -------- | ---- | ---- | -------------------- |
| message | string | 是 | 否 | 异常发生的错误信息。 | | message | string | 是 | 否 | 异常发生的错误信息。 |
| filename | string | 是 | 否 | 出现异常所在的文件。 | | filename | string | 是 | 否 | 出现异常所在的文件。 |
| lineno | number | 是 | 否 | 异常所在的行数。 | | lineno | number | 是 | 否 | 异常所在的行数。 |
...@@ -530,23 +581,26 @@ workerInstance.addEventListener("alert", (e)=>{ ...@@ -530,23 +581,26 @@ workerInstance.addEventListener("alert", (e)=>{
## MessageEvent ## MessageEvent
消息类,持有worker线程间传递的数据。 消息类,持有Worker线程间传递的数据。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Utils.Lang。
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- | | ---- | -------- | ---- | ---- | ------------------ |
| data | T | 是 | 否 | 线程间传递的数据。 | | data | T | 是 | 否 | 线程间传递的数据。 |
## WorkerGlobalScope ## WorkerGlobalScope
worker线程自身的运行环境,WorkerGlobalScope类继承[EventTarget](#eventtarget) Worker线程自身的运行环境,WorkerGlobalScope类继承[EventTarget](#eventtarget)
### 属性 ### 属性
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Utils.Lang。
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- | | ---- | ------------------------------------------------------------ | ---- | ---- | --------------------------------------- |
| name | string | 是 | 否 | worker的名字,有new Worker时指定。 | | name | string | 是 | 否 | Worker的名字,有new Worker时指定。 |
| self | [WorkerGlobalScope](#workerglobalscope) & typeof globalThis | 是 | 否 | WorkerGlobalScope本身。 | | self | [WorkerGlobalScope](#workerglobalscope) & typeof globalThis | 是 | 否 | WorkerGlobalScope本身。 |
...@@ -554,20 +608,24 @@ worker线程自身的运行环境,WorkerGlobalScope类继承[EventTarget](#eve ...@@ -554,20 +608,24 @@ worker线程自身的运行环境,WorkerGlobalScope类继承[EventTarget](#eve
onerror?: (ev: ErrorEvent) => void onerror?: (ev: ErrorEvent) => void
WorkerGlobalScope的onerror属性表示worker在执行过程中发生异常被调用的事件处理程序,处理程序在worker线程中执行。 WorkerGlobalScope的onerror属性表示Worker在执行过程中发生异常被调用的事件处理程序,处理程序在Worker线程中执行。
**系统能力:** SystemCapability.Utils.Lang
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | ------ | ------------------------- | ---- | ---------- |
| ev | [ErrorEvent](#errorevent) | 否 | 异常数据。 | | ev | [ErrorEvent](#errorevent) | 否 | 异常数据。 |
**示例:** **示例:**
``` ```
// main.js // main.js
import worker from '@ohos.worker'; import worker from '@ohos.worker';
const workerInstance = new worker.Worker("workers/worker.js") const workerInstance = new worker.Worker("workers/worker.js")
``` ```
``` ```
// worker.js // worker.js
import worker from '@ohos.worker'; import worker from '@ohos.worker';
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册