web-workers: new cheatsheet
This commit is contained in:
parent
2e8c207943
commit
1074ac9e72
|
@ -1,48 +0,0 @@
|
|||
---
|
||||
title: JavaScript workers
|
||||
category: JavaScript
|
||||
---
|
||||
|
||||
## Web workers
|
||||
|
||||
// Client code
|
||||
|
||||
var worker = new Worker('worker.js');
|
||||
worker.onmessage = function(message) {
|
||||
alert(message.data);
|
||||
});
|
||||
worker.postMessage("");
|
||||
|
||||
### Worker code
|
||||
|
||||
// worker.js
|
||||
|
||||
self.onmessage = function(message) {
|
||||
alert(message.data);
|
||||
}
|
||||
self.postMessage("");
|
||||
|
||||
### Message data
|
||||
|
||||
// [MessageEvent]
|
||||
bubbles: false
|
||||
cancelBubble: false
|
||||
cancelable: false
|
||||
clipboardData: undefined
|
||||
currentTarget: Worker
|
||||
data: "Hello"
|
||||
defaultPrevented: false
|
||||
eventPhase: 0
|
||||
lastEventId: ""
|
||||
origin: ""
|
||||
ports: Array[0]
|
||||
returnValue: true
|
||||
source: null
|
||||
srcElement: Worker
|
||||
target: Worker
|
||||
timeStamp: 1344821022383
|
||||
type: "message"
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
---
|
||||
title: Web workers
|
||||
category: JavaScript
|
||||
updated: 2017-10-30
|
||||
weight: -1
|
||||
---
|
||||
|
||||
## Web workers
|
||||
|
||||
#### Client
|
||||
|
||||
```js
|
||||
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](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm)
|
||||
|
||||
#### Worker
|
||||
|
||||
```js
|
||||
self.onmessage = function (message) {
|
||||
···
|
||||
}
|
||||
|
||||
self.postMessage({ msg: 'hello' })
|
||||
```
|
||||
|
||||
### Message data
|
||||
|
||||
#### [MessageEvent]
|
||||
|
||||
```js
|
||||
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.
|
Loading…
Reference in New Issue