(payload, worker: Worker)
| 6 | |
| 7 | // Activate calculation in the worker, returning a promise |
| 8 | function sendMsg(payload, worker: Worker) { |
| 9 | const msgId = globalMsgId++; |
| 10 | const msg = { |
| 11 | id: msgId, |
| 12 | payload |
| 13 | }; |
| 14 | return new Promise(function(resolve, reject) { |
| 15 | // save callbacks for later |
| 16 | resolves[msgId] = resolve; |
| 17 | rejects[msgId] = reject; |
| 18 | worker.postMessage(msg); |
| 19 | |
| 20 | // TODO: CHECK FOR MEMORY LEAK |
| 21 | }); |
| 22 | } |
| 23 | // Handle incoming calculation result |
| 24 | function handleMsg(msg) { |
| 25 | const { id, err, payload } = msg.data; |