Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
2f979195
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看板
未验证
提交
2f979195
编写于
5月 09, 2023
作者:
O
openharmony_ci
提交者:
Gitee
5月 09, 2023
浏览文件
操作
浏览文件
下载
差异文件
!17971 修改taskpool文档接口说明3.2release
Merge pull request !17971 from bwx1148593/OpenHarmony-3.2-Release
上级
eb258083
0ae68526
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
67 addition
and
7 deletion
+67
-7
zh-cn/application-dev/reference/apis/js-apis-taskpool.md
zh-cn/application-dev/reference/apis/js-apis-taskpool.md
+67
-7
未找到文件。
zh-cn/application-dev/reference/apis/js-apis-taskpool.md
浏览文件 @
2f979195
...
@@ -46,7 +46,7 @@ Task的构造函数。
...
@@ -46,7 +46,7 @@ Task的构造函数。
| 参数名 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| ------ | --------- | ---- | -------------------------------------------------------------------- |
| ------ | --------- | ---- | -------------------------------------------------------------------- |
| func | Function | 是 | 任务执行需要传入函数,支持的函数返回值类型请查
[
序列化支持类型
](
#序列化支持类型
)
。 |
| func | Function | 是 | 任务执行需要传入函数,支持的函数返回值类型请查
[
序列化支持类型
](
#序列化支持类型
)
。 |
| args | unknown
[
] | 否 | 任务执行传入函数的参数,支持的参数类型请查[序列化支持类型
](
#序列化支持类型
)
。 |
| args | unknown
[
] | 否 | 任务执行传入函数的参数,支持的参数类型请查[序列化支持类型
](
#序列化支持类型
)
。
默认值为undefined。
|
**错误码:**
**错误码:**
...
@@ -81,7 +81,7 @@ let task = new taskpool.Task(func, "this is my first Task");
...
@@ -81,7 +81,7 @@ let task = new taskpool.Task(func, "this is my first Task");
execute(func: Function, ...args: unknown[]): Promise
\<
unknown>
execute(func: Function, ...args: unknown[]): Promise
\<
unknown>
任务池执行任务,需要传入待执行的函数和函数所需的参数,此
执行模式不可取消任务。
将待执行的函数放入taskpool内部任务队列等待,等待分发到工作线程执行。当前
执行模式不可取消任务。
**系统能力:**
SystemCapability.Utils.Lang
**系统能力:**
SystemCapability.Utils.Lang
...
@@ -90,7 +90,7 @@ execute(func: Function, ...args: unknown[]): Promise\<unknown>
...
@@ -90,7 +90,7 @@ execute(func: Function, ...args: unknown[]): Promise\<unknown>
| 参数名 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| ------ | --------- | ---- | ---------------------------------------------------------------------- |
| ------ | --------- | ---- | ---------------------------------------------------------------------- |
| func | Function | 是 | 执行的逻辑需要传入函数,支持的函数返回值类型请查
[
序列化支持类型
](
#序列化支持类型
)
。 |
| func | Function | 是 | 执行的逻辑需要传入函数,支持的函数返回值类型请查
[
序列化支持类型
](
#序列化支持类型
)
。 |
| args | unknown
[
] | 否 | 执行逻辑的函数所需要的参数,支持的参数类型请查[序列化支持类型
](
#序列化支持类型
)
。 |
| args | unknown
[
] | 否 | 执行逻辑的函数所需要的参数,支持的参数类型请查[序列化支持类型
](
#序列化支持类型
)
。
默认值为undefined。
|
**返回值:**
**返回值:**
...
@@ -129,7 +129,7 @@ taskpoolTest();
...
@@ -129,7 +129,7 @@ taskpoolTest();
execute(task: Task, priority?: Priority): Promise
\<
unknown>
execute(task: Task, priority?: Priority): Promise
\<
unknown>
任务池执行任务,需要传入已创建的任务,此执行模式可取消任务
。
将创建好的任务放入taskpool内部任务队列等待,等待分发到工作线程执行。当前执行模式可尝试调用cancel进行任务取消
。
**系统能力:**
SystemCapability.Utils.Lang
**系统能力:**
SystemCapability.Utils.Lang
...
@@ -197,18 +197,18 @@ cancel(task: Task): void
...
@@ -197,18 +197,18 @@ cancel(task: Task): void
| 10200015 | If the task is not exist. |
| 10200015 | If the task is not exist. |
| 10200016 | If the task is running. |
| 10200016 | If the task is running. |
**示例:**
**
任务取消成功
示例:**
```
ts
```
ts
@
Concurrent
function
func
(
args
)
{
function
func
(
args
)
{
"
use concurrent
"
;
console
.
log
(
"
func:
"
+
args
);
console
.
log
(
"
func:
"
+
args
);
return
args
;
return
args
;
}
}
async
function
taskpoolTest
()
{
async
function
taskpoolTest
()
{
let
task
=
new
taskpool
.
Task
(
func
,
100
);
let
task
=
new
taskpool
.
Task
(
func
,
100
);
let
value
=
await
taskpool
.
execute
(
task
);
taskpool
.
execute
(
task
);
try
{
try
{
taskpool
.
cancel
(
task
);
taskpool
.
cancel
(
task
);
}
catch
(
e
)
{
}
catch
(
e
)
{
...
@@ -219,6 +219,66 @@ async function taskpoolTest() {
...
@@ -219,6 +219,66 @@ async function taskpoolTest() {
taskpoolTest
();
taskpoolTest
();
```
```
**已执行的任务取消失败示例:**
```
ts
function
func
(
args
)
{
"
use concurrent
"
;
console
.
log
(
"
func:
"
+
args
);
return
args
;
}
async
function
taskpoolTest
()
{
let
task
=
new
taskpool
.
Task
(
func
,
100
);
let
value
=
taskpool
.
execute
(
task
);
let
start
=
new
Date
().
getTime
();
while
(
new
Date
().
getTime
()
-
start
<
1000
)
{
// 延时1s,确保任务已执行
continue
;
}
try
{
taskpool
.
cancel
(
task
);
//任务已执行,取消失败
}
catch
(
e
)
{
console
.
log
(
"
taskpool.cancel occur error:
"
+
e
);
}
}
taskpoolTest
();
```
**正在执行的任务取消失败示例:**
```
ts
function
func
(
args
)
{
"
use concurrent
"
;
console
.
log
(
"
func:
"
+
args
);
return
args
;
}
async
function
taskpoolTest
()
{
let
task1
=
new
taskpool
.
Task
(
func
,
100
);
let
task2
=
new
taskpool
.
Task
(
func
,
200
);
let
task3
=
new
taskpool
.
Task
(
func
,
300
);
let
task4
=
new
taskpool
.
Task
(
func
,
400
);
let
task5
=
new
taskpool
.
Task
(
func
,
500
);
let
task6
=
new
taskpool
.
Task
(
func
,
600
);
let
res1
=
taskpool
.
execute
(
task1
);
let
res2
=
taskpool
.
execute
(
task2
);
let
res3
=
taskpool
.
execute
(
task3
);
let
res4
=
taskpool
.
execute
(
task4
);
let
res5
=
taskpool
.
execute
(
task5
);
let
res6
=
taskpool
.
execute
(
task6
);
try
{
taskpool
.
cancel
(
task1
);
// task1任务正在执行,取消失败
}
catch
(
e
)
{
console
.
log
(
"
taskpool.cancel occur error:
"
+
e
);
}
}
taskpoolTest
();
```
## 其他说明
## 其他说明
### 序列化支持类型
### 序列化支持类型
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录