shared-worker-memory.js (637B)
1 'use strict'; 2 3 let stored_data = null; 4 5 function processMessage(e) { 6 function respond(data) { 7 e.currentTarget.postMessage(Object.assign(data, {reqid: e.data.reqid})); 8 } 9 10 switch (e.data.op) { 11 case 'load': { 12 respond({ack: 'load', status: 'OK', data: stored_data}); 13 break; 14 } 15 case 'store': { 16 try { 17 stored_data = e.data.data 18 } catch (err) { 19 respond({ack: 'store', status: 'ERROR', error: err.name}); 20 return; 21 } 22 respond({ack: 'store', status: 'OK'}); 23 break; 24 } 25 } 26 } 27 28 self.addEventListener('connect', e => { 29 e.ports[0].onmessage = processMessage; 30 });