worker.ts中如何获取context

worker.ts中如何获取context

HarmonyOS
2024-01-31 18:18:29
浏览
收藏 0
回答 2
待解决
回答 2
按赞同
/
按时间
yjfhd
1

1.从主线程通过worker.postMessage(context)发送到worker子线程。

let worker = new worker.ThreadWorker('entry/ets/workers/Worker.ts', {name:"first worker in Stage model"}); 
let context = getContext(this) 
worker.postMessage(context);

2. 从worker线程中通过workerPort.onmessage接受context。

workerPort.onmessage = function(e : MessageEvents) { 
    let context = e.data 
    console.info(`${TAG} onmessage:${JSON.stringify(context.cacheDir)}`) 
}
分享
微博
QQ
微信
回复
2024-02-01 20:29:20
wx62e3818ee9d7f

作者试过了吗,两个context一样吗,因为worker.postMessage(object);其中要求object中的内容可以序列化,而context显然不行


分享
微博
QQ
微信
回复
2024-06-17 16:01:57
相关问题
鸿蒙如何获取context对象
7806浏览 • 1回复 待解决
如何在UI获取Context
1082浏览 • 1回复 待解决
如何在工具类获取Context
853浏览 • 1回复 待解决
Stage模型如何获取context?
2882浏览 • 1回复 待解决
鸿蒙页面的context如何拿到
16743浏览 • 3回复 待解决
尝试获取Har context,app crash
764浏览 • 1回复 待解决
TaskPool和Worker任务调度机制
863浏览 • 1回复 待解决
Worker线程如何销毁?
20浏览 • 1回复 待解决
Worker线程内存如何共享
1054浏览 • 1回复 待解决
如何创建一个worker线程
426浏览 • 1回复 待解决
TaskPool与Worker的区别
834浏览 • 1回复 待解决