Tengo un resultado dinámicoNúmeros de matriz. La consola.log (datos) muestra el texto de datos que quiero de la API. Pero el div en el HTML devuelve una [Promesa de objeto] .
let resultArray = ['6'] const getUrl = (num) => `http://numbersapi.com/${num}`; const getFacts = async (num) => { try { const resp = await fetch(getUrl(num)); const data = await resp.text(); console.log(data); return data; } catch (error) { console.log(error); } }; let theQuote = document.getElementById("quote"); theQuote.textContent = getFacts(resultArray); // [object promise] <!DOCTYPE html> <html lang="en"> <head> </head> <body class="main"> <div id="quote"></div> </body> </html>No estoy seguro, pero puede funcionar para usted.
(async () => { let theQuote = document.getElementById("quote"); theQuote.textContent = await getFacts(resultArray); })();porque su función getFacts() devuelve una promesa y necesita resolverla cuando la use, intente representar datos dentro de la función para evitar esto
let theQuote = document.getElementById("quote"); let resultArray = ['6'] const getUrl = (num) => `http://numbersapi.com/${num}`; const getFacts = async (num) => { try { const resp = await fetch(getUrl(num)); const data = await resp.text(); console.log(data); theQuote.textContent = data; } catch (error) { console.log(error); } };Básicamente, solo necesita esperar hasta que se resuelva la promesa de getFacts. Puede lograrlo utilizando then método de la promesa como se muestra a continuación:
getFacts(resultArray).then((facts) => { let theQuote = document.getElementById("quote"); theQuote.textContent = facts; })