dynamic-import-script-block-cross-origin.js (689B)
1 const sourcePromise = new Promise(resolve => { 2 if ('DedicatedWorkerGlobalScope' in self && 3 self instanceof DedicatedWorkerGlobalScope) { 4 self.onmessage = e => { 5 resolve(e.target); 6 }; 7 } else if ( 8 'SharedWorkerGlobalScope' in self && 9 self instanceof SharedWorkerGlobalScope) { 10 self.onconnect = e => { 11 resolve(e.ports[0]); 12 }; 13 } 14 }); 15 16 const importedModulesPromise = 17 import('./export-block-cross-origin.js') 18 .then(module => module.importedModules) 19 .catch(() => ['ERROR']); 20 21 Promise.all([sourcePromise, importedModulesPromise]).then(results => { 22 const [source, importedModules] = results; 23 source.postMessage(importedModules); 24 });