worker my.createworker(string scriptpath)
基础库 或更高版本; 若版本较低,建议采取 兼容处理 。
小程序开发者工具: 支持。3.8.3
主体: 企业支付宝小程序
创建 worker 线程。
注:
- 目前限制最多只能创建一个 worker,创建下一个 worker 前请先调用 worker.terminate
- 若返回空,则说明 worker 创建失败。
string scriptpath
worker 代码入口文件的路径。相对 app.json 所在目录,请勿以 / 开头
注意:接口使用前需要在 app.json 中配置 workers 字段
如果在插件内创建 worker,需要在 plugin.json 中配置 workers 字段
object options
可选
属性 | 类型 | 默认值 | 必填 | 兼容性 | 描述 |
---|---|---|---|---|---|
useexperimentalworker | boolean | - | 否 | 基础库: 2.9.7 支付宝: 10.5.60 |
是否使用实验 worker |
worker
worker 对象。
代码示例
pages/index/index.js
app.json
workers/index.js
const scriptpath = 'workers/index.js'; // worker 的入口文件
const worker = my.createworker(scriptpath, {
useexperimentalworker: true // 开启实验 worker
});
if (!worker) {
my.alert({
title: 'createworker 失败',
content: `请检查 worker 是否重复创建;请确保包文件路径 ${scriptpath} 有效,且在 app.json 里的 workers 数组中包含。`
});
return;
}
worker.onmessage(function (msg) {
my.alert({ title: '收到来自 worker 的消息', content: msg.text });
worker.terminate();
});
worker.postmessage({
text: 'hello worker'
});
{
"workers": [
"workers/index.js"
]
}
worker.onmessage(function (msg) {
worker.postmessage({
text: msg.text ' --- hello master'
});
});
-
bug若在 app.json 配置 workers 字段后出现如下编译错误:
可点击模拟器右上角停止按钮,再点开启: