Tengo una pregunta. Vi en la operación de especificación HostMakeJobCallback , describe dos casos con script activo no nulo y nulo. También hay dos ejemplos con código:
Promise.resolve('import(`./example.mjs`)').then(eval); <button onclick="Promise.resolve('import(`./example.mjs`)').then(eval)">Click me</button>Estoy interesado en el primer ejemplo. Imagina la siguiente estructura:
índice.html
<script type="module" src="modules/a.js"></script>ejemplo.js
console.log("example.js is included")a.js (no se ejecuta con todos los casos juntos)
/// case 1 eval('import(`./example.js`)'); /// case 2 Promise.resolve("import('./example.js')").then(eval) En el caso 1 : eval no arrojará un error e imprimirá "example.js is included" . Eso creo que será correcto porque la import obtiene GetActiveScriptOrModule() que será Module Record
En el caso 2 : then(eval) arrojará el error. Y por alguna razón este código pensará que baseURL es "http://127.0.0.1:5501/" pero no "http://127.0.0.1:5501/modules"
¿Por qué estos casos son diferentes? ¿ HostMakeJobCallback no guarda el script activo para la futura restauración con su baseURL del script del módulo?