首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >可以从不同的java脚本文件内部调用worker.postmessage和worker.onmessage来使用一个worker.js吗?

可以从不同的java脚本文件内部调用worker.postmessage和worker.onmessage来使用一个worker.js吗?
EN

Stack Overflow用户
提问于 2018-09-27 05:32:52
回答 1查看 190关注 0票数 0

我是Java script的新手,最近了解了Web Workers,它基本上是Java Script中多线程的解决方案。在我找到的所有示例中,他们都使用了在同一个js文件中发布消息和接收来自web worker文件的响应消息。我的问题是,我是否可以在一个java脚本文件中开始执行web worker,然后在另一个单独的java脚本文件中接收结果,如下面的示例所示:

//start.js
  function startWebWorker()
  {  
    var message = "execute";
    var myWorker = new Worker("worker.js");

     myWorker.postMessage(message);
 }

 //worker.js
this.onmessage = function(e)
{
  if (e.data == "execute")
  var result ;
   result = doSomething();
  this.postMessage(result);

}

//receive.js

function processResult(){
var myWorker = new Worker("worker.js");  
   myWorker.onmessage = function(e)
   document.setElementById("myresult") = e.result;

 }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-27 05:42:15

您可以将worker赋值给全局变量,并从任何脚本访问它

window.myWorker = new Worker('worker.js')

,您可以在其他脚本中使用

window.myWorker.postMessage('hi there')

或者,更好的是,您可以在模块中定义worker

export const worker = new Worker('worker.js')

在模块中,导入它

<script type="module">
  import { worker } from './worker-module.js'
  worker.postMessage('hi there')
</script>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52526306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档