Así que estaba aprendiendo JavaScript Promises y creé una página web que muestra texto derivado de otro archivo en el directorio. Carga con éxito el sitio y todo, pero el problema es que incluso después de que el sitio carga y accede a los datos de la otra página web, muestra el icono de carga. Intenté eliminar la promesa del archivo y, cuando volví a visitar la página web, no había ningún icono de carga. Así que creo que hay algo mal con la promesa.
controller.js (el archivo JS principal) function myDisplayer(some) { document.write(some); } async function loadController(){ let myPromise = new Promise(function(myResolve, myReject) { let req = new XMLHttpRequest(); req.open('GET', "controllerDummy.html"); req.onload = function() { if (req.status == 200) { myResolve(req.response); } else { myReject("File not Found"); } }; req.send(); }); myDisplayer(await myPromise); } loadController()controller.html (el archivo principal) <!DOCTYPE html> <html style="background-color: black;"> <head> <script type="text/javascript" src="controller.js"></script> </head> <body> </body> </html>controllerDummy.html (el archivo ficticio del que la promesa extrae el texto de respuesta) <!DOCTYPE html> <html style="background-color: black;"> <body>Loading Controller</body> </html> Estos son todos los archivos, y ahora las capturas de pantalla. 
Como puede ver, la promesa se ha cargado, pero el sitio aún se está cargando con el icono. ¿Hay alguna solución para esto? ¿Está desactualizado de esta manera o algo así?
cumplir la promesa
function myDisplayer(some) { document.write(some); } async function loadController(){ let myPromise = new Promise(function(myResolve, myReject) { let req = new XMLHttpRequest(); req.open('GET', "controllerDummy.html"); req.onload = function() { if (req.status == 200) { myResolve(req.response); } else { myReject("File not Found"); } }; req.send(); }); myPromise.then((result)=>{ myDisplayer(result); }).catch((error)=>{ //handle error }); } loadController()