Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
cdcd84d2
D
Docs
项目概览
OpenHarmony
/
Docs
大约 2 年 前同步成功
通知
161
Star
293
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
cdcd84d2
编写于
3月 16, 2022
作者:
Z
zengyawen
提交者:
Gitee
3月 16, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
syscap改造+增加worker说明
Signed-off-by:
N
zengyawen
<
zengyawen1@huawei.com
>
上级
e97555c9
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
183 addition
and
125 deletion
+183
-125
zh-cn/application-dev/reference/apis/js-apis-worker.md
zh-cn/application-dev/reference/apis/js-apis-worker.md
+183
-125
未找到文件。
zh-cn/application-dev/reference/apis/js-apis-worker.md
浏览文件 @
cdcd84d2
# 启动一个
w
orker
# 启动一个
W
orker
>  **说明:**
>  **说明:**
> 本模块首批接口从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
使用以下方法前,均需先构造
w
orker实例,Worker类继承
[
EventTarget
](
#eventtarget
)
。
使用以下方法前,均需先构造
W
orker实例,Worker类继承
[
EventTarget
](
#eventtarget
)
。
### constructor
### constructor
constructor(scriptURL: string, options?: WorkerOptions)
constructor(scriptURL: string, options?: WorkerOptions)
worker构造函数。
Worker构造函数。
**系统能力:**
SystemCapability.Utils.Lang
**参数:**
**参数:**
| 参数名
| 类型 | 必填 | 说明
|
| 参数名
| 类型 | 必填 | 说明
|
| --------
| -------- | -------- |
-------- |
| --------
- | ------------------------------- | ---- | ----------------------------------------------------
-------- |
| scriptURL | string
| 是 | w
orker执行脚本的url,路径规范:若DevEco新建工程在pages同级下没有workers目录,需要新建workers目录,将脚本文件放入workers目录。 |
| scriptURL | string
| 是 | W
orker执行脚本的url,路径规范:若DevEco新建工程在pages同级下没有workers目录,需要新建workers目录,将脚本文件放入workers目录。 |
| options
|
[
WorkerOptions
](
#workeroptions
)
| 否 | worker构造的选项。
|
| options
|
[
WorkerOptions
](
#workeroptions
)
| 否 | Worker构造的选项。
|
**返回值:**
**返回值:**
| 类型
| 说明
|
| 类型
| 说明
|
| ------
-- |
-------- |
| ------
| -------------------------------------------------
-------- |
|
w
orker | 执行Worker构造函数生成的Worker对象,失败则返回undefined。 |
|
W
orker | 执行Worker构造函数生成的Worker对象,失败则返回undefined。 |
**示例:**
**示例:**
...
@@ -66,14 +70,16 @@ const workerInstance = new worker.Worker("workers/worker.js", {name:"first worke
...
@@ -66,14 +70,16 @@ 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,14 +99,16 @@ workerInstance.postMessage(buffer, [buffer]);
...
@@ -92,14 +99,16 @@ 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,14 +124,16 @@ workerInstance.on("alert", (e)=>{
...
@@ -115,14 +124,16 @@ 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,14 +149,16 @@ workerInstance.once("alert", (e)=>{
...
@@ -138,14 +149,16 @@ 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 | 否 | w
orker退出的code。 |
| code
| number | 否 | W
orker退出的code。 |
**示例:**
**示例:**
...
@@ -195,13 +212,15 @@ workerInstance.onexit = function(e) {
...
@@ -195,13 +212,15 @@ 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
)
| 否 | 收到的w
orker消息数据。 |
| event
|
[
MessageEvent
](
#messageevent
)
| 否 | 收到的W
orker消息数据。 |
**示例:**
**示例:**
...
@@ -239,13 +260,15 @@ workerInstance.onmessage = function(e) {
...
@@ -239,13 +260,15 @@ 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,14 +287,16 @@ workerInstance.onmessageerror= function(e) {
...
@@ -264,14 +287,16 @@ 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,14 +312,16 @@ workerInstance.addEventListener("alert", (e)=>{
...
@@ -287,14 +312,16 @@ 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,21 +377,23 @@ workerInstance.removeAllListener({type:"alert"})
...
@@ -346,21 +377,23 @@ workerInstance.removeAllListener({type:"alert"})
## DedicatedWorkerGlobalScope
## DedicatedWorkerGlobalScope
worker线程用于与宿主线程通信的类,通过postMessage接口发送消息给宿主线程、close接口关闭w
orker线程,DedicatedWorkerGlobalScope类继承
[
WorkerGlobalScope
](
#workerglobalscope
)
。
Worker线程用于与宿主线程通信的类,通过postMessage接口发送消息给宿主线程、close接口关闭W
orker线程,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
)
| 否 | 收到的w
orker消息数据。 |
| event
|
[
MessageEvent
](
#messageevent
)
| 否 | 收到的W
orker消息数据。 |
**示例:**
**示例:**
...
@@ -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,13 +480,15 @@ parentPort.onmessage = function(e) {
...
@@ -440,13 +480,15 @@ 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,19 +512,23 @@ parentPort.onmessageerror= function(e) {
...
@@ -469,19 +512,23 @@ parentPort.onmessageerror= function(e) {
明确数据传递过程中需要转移所有权对象的类,传递所有权的对象必须是ArrayBuffer。
明确数据传递过程中需要转移所有权对象的类,传递所有权的对象必须是ArrayBuffer。
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
**系统能力:**
以下各项对应的系统能力均为SystemCapability.Utils.Lang。
| -------- | -------- | -------- | -------- | -------- |
| transfer | Object[] | 是 | 是 | ArrayBuffer数组,用于传递所有权。 |
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | ---- | ---- | --------------------------------- |
| transfer | Object[] | 是 | 是 | ArrayBuffer数组,用于传递所有权。 |
## Event
## Event
事件类。
事件类。
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
**系统能力:**
以下各项对应的系统能力均为SystemCapability.Utils.Lang。
| -------- | -------- | -------- | -------- | -------- |
| type | string | 是 | 否 | 指定事件的type。 |
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| timeStamp | number | 是 | 否 | 事件创建时的时间戳(精度为毫秒)。 |
| --------- | -------- | ---- | ---- | ---------------------------------- |
| type | string | 是 | 否 | 指定事件的type。 |
| timeStamp | number | 是 | 否 | 事件创建时的时间戳(精度为毫秒)。 |
## EventListener
## EventListener
...
@@ -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,57 +566,66 @@ workerInstance.addEventListener("alert", (e)=>{
...
@@ -517,57 +566,66 @@ 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 | 是 | 否 | 异常所在的行数。
|
| colno
| number | 是 | 否 | 异常所在的列数。
|
| colno
| number | 是 | 否 | 异常所在的列数。
|
| error
| Object | 是 | 否 | 异常类型。
|
| error
| Object | 是 | 否 | 异常类型。
|
## MessageEvent
## MessageEvent
消息类,持有
w
orker线程间传递的数据。
消息类,持有
W
orker线程间传递的数据。
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
**系统能力:**
以下各项对应的系统能力均为SystemCapability.Utils.Lang。
| -------- | -------- | -------- | -------- | -------- |
| data | T | 是 | 否 | 线程间传递的数据。 |
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| ---- | -------- | ---- | ---- | ------------------ |
| data | T | 是 | 否 | 线程间传递的数据。 |
## WorkerGlobalScope
worker线程自身的运行环境,WorkerGlobalScope类继承
[
EventTarget
](
#eventtarget
)
。
## WorkerGlobalScope
Worker线程自身的运行环境,WorkerGlobalScope类继承
[
EventTarget
](
#eventtarget
)
。
### 属性
### 属性
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
**系统能力:**
以下各项对应的系统能力均为SystemCapability.Utils.Lang。
| -------- | -------- | -------- | -------- | -------- |
| name | string | 是 | 否 | worker的名字,有new
Worker时指定。 |
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| self |
[
WorkerGlobalScope
](
#workerglobalscope
)
&
typeof
globalThis | 是 | 否 | WorkerGlobalScope本身。 |
| ---- | ------------------------------------------------------------ | ---- | ---- | --------------------------------------- |
| name | string | 是 | 否 | Worker的名字,有new
Worker时指定。 |
| self |
[
WorkerGlobalScope
](
#workerglobalscope
)
&
typeof
globalThis | 是 | 否 | WorkerGlobalScope本身。 |
### onerror
### onerror
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';
...
@@ -575,4 +633,4 @@ const parentPort = worker.parentPort
...
@@ -575,4 +633,4 @@ const parentPort = worker.parentPort
parentPort.onerror = function(e){
parentPort.onerror = function(e){
console.log("worker.js onerror")
console.log("worker.js onerror")
}
}
```
```
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录