首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javascript web workers如何传递参数?

javascript web workers如何传递参数?
EN

Stack Overflow用户
提问于 2010-10-26 05:57:12
回答 2查看 31.5K关注 0票数 32

找到了我的一些问题的答案,html5网络工作者!

通过使用这个基本示例,我如何将参数传递给web worker?

Worker.js的内容:

代码语言:javascript
复制
function doSomething() {
    postMessage( ' done');
}
setTimeout ( "doSomething()", 3000 );

js代码:

代码语言:javascript
复制
 var worker = new Worker('worker.js');
  worker.onmessage = function (event) {
    alert(event.data);
  };
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-26 06:09:29

如您所见,worker-to-main和main-to-worker消息的机制是相同的。

  • 用于发送消息的postMessage方法
  • 用于定义接收消息的处理程序的onmessage成员

在主脚本中:

代码语言:javascript
复制
worker.postMessage(data);

在worker脚本中:

代码语言:javascript
复制
self.addEventListener("message", function(e) {
    // the passed-in data is available via e.data
}, false);

..。或者只是..。

代码语言:javascript
复制
onmessage = function(e) {
    // the passed-in data is available via e.data
};

可能数据必须是字符串...(Firefox支持传入兼容3.5+的对象)

票数 47
EN

Stack Overflow用户

发布于 2017-03-16 03:56:10

代码语言:javascript
复制
 var worker = new Worker(window.App.baseUrl + '/Scripts/signature/GetCurrenProductWorker.js');
                    worker.postMessage(window.App.baseUrl)


    var _base_url = ''
        var xhr = new XMLHttpRequest();
        onmessage = function (e) {
            _base_url = e.data
            xhr.open("GET", _base_url + "/api/product/Get");
            xhr.onload = function () {
                postMessage(xhr.responseText);
            };
            xhr.send();

        };

这对我来说很有效

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4019230

复制
相关文章

相似问题

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