har包里的worker如何在entry包内使用

har包里的worker如何在entry包内使用

HarmonyOS
2024-04-28 23:06:11
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
pfuchenlu

加载Library-HAR中Worker线程文件场景加载HAR中worker线程文件存在以下两种情况:

@标识路径加载形式:所有种类的模块加载本地HAR中的Worker线程文件,加载路径规则:@{moduleName}/ets/{relativePath}。

相对路径加载形式:本地HAR加载该包内的Worker线程文件,加载路径规则:创建Worker对象所在文件与Worker线程文件的相对路径。

需要注意的是:如果HAR包会被打包成三方包使用,则HAR包中使用Worker仅支持通过相对路径加载形式创建。​​

Demo如下:

// WorkerHandler.ets 
import { worker } from ‘@kit.ArkTS’ 
 
export class WorkerHandler { 
private static workerS = new worker.ThreadWorker("…/…/workers/MyWorker"); 
 
static postMsg(type: number, content: string): void { 
WorkerHandler.workerS.postMessage({‘type’: type, ‘content’: content}); 
WorkerHandler.workerS.onmessage = (): void => { 
// 接收Worker子线程的结果 
console.log(“myWorker: onMessage in har”); 
} 
} 
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
分享
微博
QQ
微信
回复
2024-04-29 15:42:20


相关问题
HarmonyOS worker子线程在har不生效
779浏览 • 1回复 待解决
HarmonyOS HAR内容简化
492浏览 • 1回复 待解决
har不能用worker吗,taskpool可以吗
2977浏览 • 1回复 待解决
HarmonyOS har能否引用tgz
997浏览 • 1回复 待解决
HarmonyOS 如何build har
816浏览 • 1回复 待解决
HarmonyOS 共享里面可以使用worker
1227浏览 • 1回复 待解决
如何在ArkTS中使用
1585浏览 • 1回复 待解决