Estoy tratando de crear una calculadora en JavaScript. En esta calculadora tengo un botón para convertir el número ingresado por el usuario a dólares. Tengo una API con una clave, pero de alguna manera no puedo mostrar el resultado en la calculadora.
case 'convert': let eur = parseFloat(num) console.log(eur) const url = 'https://v6.exchangerate-api.com/v6/my-api-key/pair/EUR/USD/' + eur fetch(url) .then(response => response.json()) let converted = JSON.parse(response.json()) display.value = converted num = 0 breakMétodo 1:
Puede hacer una llamada asyn a su función esperando la solicitud de API
let response = await fetch(url); let converted = JSON.parse(response.json()) display.value = convertedMétodo 2:
Mueva su código de análisis dentro de la respuesta de las API, obtenga los valores convertidos y configúrelo para mostrar el campo
El primer problema que tiene es que no está procesando correctamente el resultado de la API.
la response solo existe dentro de la devolución de llamada de Promise. En la inicialización de su variable converted , la response no está definida. Lo siguiente debería al menos brindarle con éxito los datos de la API que luego puede usar para mostrar. Además, llamar a .json() en una Response de búsqueda ya convierte el cuerpo HTTP a JSON, por lo que no es necesario analizarlo nuevamente con JSON.parse() .
fetch('https://v6.exchangerate-api.com/v6/my-api-key/pair/EUR/USD/4') .then(response => response.json()) .then((responseData) => { console.log(responseData); display.value = responseData; }); Como no ha proporcionado información sobre lo que hay detrás de display.value , es posible que encuentre más problemas. Además, espero que haya reconocido que se requiere una clave de API para esta API y que su URL solo dice 'my-api-key'.