使用官方的小程序worker机制代码片段
按道理说,只要在程序开始初期,创建一个worker,然后一直使用postMessage\onMessage就可以
但是第一次,创建worker后,postMessage\onMessage传递很快速
但是进行第二个postMessage\onMessage,onMessage迟迟接受不到输入信息
开始怀疑是SM4加密算法慢,但显然不是,还没到达SM4算法,因为onMessage接受成功后迟迟没有打印console.log("接受到的数据....")
代码如下:
const SM4 = require('./sm4');
var count = 0
// 在 Worker 线程执行上下文会全局暴露一个 worker 对象,直接调用 worker.onMeesage/postMessage 即可
worker.onMessage(function (data) {
console.log("接收到的数据......")
var _t = this
console.log("==【【2】】【worker已接受】==id:" + data.id )
try {
let res = SM4.encrypt_sm4(data.message, data.key);
// var res = count++
var sendData = {
id:data.id,
ok: true,
msg:res
}
worker.postMessage(sendData);
console.log("==【【3】】【worker已发送回主线程】=====id:" + sendData.id)
} catch (error) {
var sendData = {
id:data.id,
ok: false,
msg:error
}
worker.postMessage(sendData);
}
})
确实十分慢,hello world发送到worker再回到主线程就270ms
你好能看一下,你这个的sm4的代码吗?我看你这个能直接使用解密后台的数据,官方给出的怎么使用
你好,麻烦提供这种格式的代码片段看下(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)