1
0
mirror of https://github.com/onkelbeh/cheatsheets.git synced 2025-06-14 22:27:33 +02:00
cheatsheets/web-workers.md
Rico Sta. Cruz 511de900ba
Formatting updates (#2133)
- Update some sheets which have very long sections
- Remove `layout: 2017/sheet` (everything has the same layout now)
- Remove outdated sheets
2024-04-03 18:30:24 +11:00

1.0 KiB

title category updated weight
Web workers JavaScript 2017-10-30 -1

Web workers

Client

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

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"

These are the contents of message on onmessage.