1 2 3 4 5 6 7 8 9 10 11 12 13
<script> const worker = new SharedWorker('fetch_from_shared_worker.js'); let resolve; worker.port.onmessage = e => { resolve(e.data); }; worker.port.start(); function fetch_from_shared_worker(url) { let p = new Promise(r => { resolve = r; }); worker.port.postMessage({url}); return p; } </script>