Básicamente, me gustaría ejecutar una función asíncrona tan pronto como se cargue una página html. Tengo 2 archivos js (un módulo y un js simple) que están cargados, sin embargo, mi código parece no funcionar de manera consistente. En algún momento recibo un error que dice que una función no está definida.
Aquí está mi código
Página.html
<body> //... <script type="module"> import { function1 } from "../../js/app.js"; window.function1 = function1; </script> <script type="module"> import { readDatabase } from "../../js/app.js"; window.readDatabase = readDatabase; </script> <script src="../../js/store.js" async="async"></script> </body>app.js (módulo)
export async function readDatabase() { // does something async return value; }tienda.js (javascript simple)
if (document.readyState == 'loading') { document.addEventListener('DOMContentLoaded', ready); } else { ready(); } function ready() { const value = readDatabase(); // do some there stuff } La mayoría de las veces puedo ejecutar readDatabase() pero a veces aparece un error; consulte a continuación. 
¿Alguna idea sobre cuál es el problema y cómo resolver este problema?
¡¡Muchas gracias!!
Lo resolví agregando defer al script. Defer hace que el script se active en el orden exacto de su código, por lo que de esta manera estoy seguro de que la función readDatabase se importa antes de que se ejecute el script store.js