Web workers
Client
1 2 3 4 5 6 7
| var worker = new Worker('worker.js')
worker.onmessage = function (message) { alert(JSON.stringify(message.data)) })
worker.postMessage('hello!')
|
Messages can be anything that can be serialized into JSON (objects, arrays, strings, numbers, booleans). See: structured clone
Worker
1 2 3 4 5
| self.onmessage = function (message) { ··· }
self.postMessage({ msg: 'hello' })
|
Message data
[MessageEvent]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| bubbles: false cancelBubble: false cancelable: false clipboardData: undefined currentTarget: Worker data: "Hello" ← the data defaultPrevented: false eventPhase: 0 lastEventId: "" origin: "" ports: Array[0] returnValue: true source: null srcElement: Worker target: Worker timeStamp: 1344821022383 type: "message"
|
These are the contents of message on onmessage.