transfer-datachannel-service-worker.js (489B)
1 let channel; 2 let port; 3 onmessage = (e) => { 4 if (e.data.port) { 5 port = e.data.port; 6 port.onmessage = (event) => channel.send(event.data.message); 7 } 8 if (e.data.channel) { 9 channel = e.data.channel; 10 channel.onopen = () => port.postMessage("opened"); 11 channel.onerror = () => port.postMessage("errored"); 12 channel.onclose = () => port.postMessage("closed"); 13 channel.onmessage = (event) => port.postMessage(event.data); 14 } 15 };