Estoy tratando de hacer una página html simple que muestre ahora la información de reproducción de un transmisor de medios interno. El transmisor ofrece una URL de estado que devuelve un xml simple. Logré obtener el xml, analizarlo y enviarlo al registro de la consola. Pero no puedo hacer que se muestre en el html. Independientemente de lo que intento, sigo viendo '[objeto Promesa]'.
<script> let apis = { bluos: { //get bluos info api:"http://192.168.2.86:11000/", url: (status) => { return apis.bluos.api + status } } }; function getStatus() { return fetch(apis.bluos.url("Status")) .then(response => response.text()) .then(str => new window.DOMParser().parseFromString(str, "text/xml")) .then(data => console.log(data)) } document.getElementById("artist").innerHTML = getStatus(); </script>El analizador parece funcionar, veo #document en el registro de la consola con datos analizados:
Captura de pantalla del registro de la consola
Primero traté de buscar y luego regresar, pero cosas como los datos y la respuesta no están definidos.
function getStatus() { fetch(apis.bluos.url("Status")) .then(response => response.text()) .then(str => new window.DOMParser().parseFromString(str, "text/xml")) .then(data => console.log(data)); return data; }También probé:
function getStatus() { fetch(apis.bluos.url("Status")) .then(response => response.text()) .then(str => new window.DOMParser().parseFromString(str, "text/xml")) .then(data => console.log(data)) return document; }Eso devuelve [objetoHTMLDocumento]
¿Es ese el camino a seguir?