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