开发者

javascript web workers - how do I pass arguments?

开发者 https://www.devze.com 2023-01-22 10:33 出处:网络
Found the answer some some of my problems, html5 web workers!!! How do I pass an argument to a web worker though using this basic example?

Found the answer some some of my problems, html5 web workers!!!

How do I pass an argument to a web worker though using this basic example?

contents of worker.js:

function doSomething() {
    postMessage(开发者_Python百科 ' done');
}
setTimeout ( "doSomething()", 3000 );

js code:

 var worker = new Worker('worker.js');
  worker.onmessage = function (event) {
    alert(event.data);
  };


As you can see you have the same mechanism for both worker-to-main and main-to-worker messages.

  • the postMessage method for sending messages
  • the onmessage member for defining the handler that receives the messages

In the main script:

worker.postMessage(data);

In the worker script:

self.addEventListener("message", function(e) {
    // the passed-in data is available via e.data
}, false);

... or just...

onmessage = function(e) {
    // the passed-in data is available via e.data
};

It may be that data has to be a string... (Firefox 3.5+ supports passing in JSON-compatible objects)


 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();

        };

this work for me

0

精彩评论

暂无评论...
验证码 换一张
取 消