Web workers

Client

var worker = new Worker('worker.js')

worker.onmessage = function (message) {
  alert(JSON.stringify(message.data))
})

worker.postMessage('hello!')

消息可以是任何可以序列化为JSON(对象,数组,字符串,数字,布尔值. 请参阅:structured clone

Worker

self.onmessage = function (message) {
  ···
}

self.postMessage({ msg: 'hello' })

Message data

[MessageEvent]

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"

这些是onmessage上的 message 内容.