javascript web workers - how do I pass arguments?

javascript

Solution

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)

Problem

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( ' done'); } setTimeout ( "doSomething()", 3000 ); ``` js code: ``` var worker = new Worker('worker.js'); worker.onmessage = function (event) { alert(event.data); }; ```

Original source

Related problems