#鸿蒙通关秘籍#如何在鸿蒙中使用Worker实现线程间异步通信?

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
网络小战士

在鸿蒙中,通过Worker实现线程间异步通信的方法与在Web和Node.js中类似。下面是一个创建和使用Worker进行异步任务处理的示例:

主线程代码:

javascript let myWorker = new Worker('workerScript.js');

myWorker.postMessage({command: 'start', data: 42});

myWorker.onmessage = function(event) { console.log('Received result from worker:', event.data); };

myWorker.onerror = function(error) { console.error('Worker error:', error); };

在这种设置中,主线程向Worker发送消息,并定义onmessageonerror事件处理程序以处理来自Worker的响应。

workerScript.js

javascript onmessage = function(event) { let command = event.data.command; if (command === 'start') { let result = event.data.data * 2; postMessage(result); } };

Worker脚本中,接收主线程的消息,对其进行处理,然后使用postMessage发送结果回到主线程。这样就实现了简单的异步通信。

分享
微博
QQ
微信
回复
1天前
相关问题
js Fa如何实现线程通信
5501浏览 • 1回复 待解决
通过emitter实现worker线程通讯
966浏览 • 1回复 待解决