与网络工作者一起使用时,无法在addEventlistener中获取我传递的数据

时间:2020-07-16 18:47:51

标签: javascript addeventlistener web-worker postmessage

我是JavaScript新手。我的代码因特定功能而冻结。我研究发现,Web工作者可以单独运行一个专用线程,以便我们更快地执行计算任务。现在我的问题是,我的慢速函数现在接受两个参数并对它们进行一些计算,并返回两个对象。因此,代码结构如下所示:

function recursive(x,y){
 if(x>10){return evaluation:+10}
 else return evaluation: -10;

 for(){
//does recursion
}

return move;
}

此功能非常慢,会冻结我的浏览器。现在,我想使用网络工作者为我完成任务。我创建了一个Web worker和一个worker.js文件。 我将x和y传递为:

worker.postMessage([x,y]);

现在在worker.js文件中, 我使用以下代码添加了事件监听器:

addEventListener('message', (event) => {
console.log('Message received by main is...');
console.log(event.data);

});

现在,我想从此函数返回两个对象,并在我的代码中使用它们。我该怎么办?

0 个答案:

没有答案