JSFiddle - React, Tailwind, and code Playground
by borisjavier
JavaScript
async function rateXau() {
let GDN = 0;
await fetch('https://openexchangerates.org/api/latest.json?app_id=8d926de9f1604f1d9617d492ca1323c4&base=USD&symbols=XAU')
.then(res => res.json())
.then(res => {
const xauUSD = 1 / parseFloat(res.rates['XAU']);
GDN = (xauUSD / 31.1035).toFixed(2);//troy ounce to gram
//console.log('GDN: ', GDN);
})
return GDN;
}
const getBSVPriceUSD = async () => {
try {
const response = await fetch('https://api.whatsonchain.com/v1/bsv/main/exchangerate', {
timeout: 10000 // Tiempo de espera en milisegundos (10 segundos en este caso)
});
if (!response.ok) {
throw new Error('Error al llamar a la API: ' + response.statusText);
}
const data = await response.json();
return parseFloat(data.rate).toFixed(2);
} catch (error) {
console.error('Error al obtener el precio de BSV en USD:', error);
throw error; // Propaga el error para manejarlo fuera de esta función si es necesario
}
};
/*async function rates () {
const rateX = await rateXau();
//console.log('rateXau: ', rateX);
const rateB = await getBSVPriceUSD();
//console.log('rateBSV: ', rateB);
const GNBSV = (parseFloat(rateX)/parseFloat(rateB));
//console.log('GNBSV: ', GNBSV);
const result = {GNBSV, rateB, rateX};
console.log("Rates result: ", result)
return result;
}*/
const rates = async () => {
const rateX = await rateXau();
console.log('rateXau: ', rateX);
const rateB = await getBSVPriceUSD();
console.log('rateBSV: ', rateB);
const GNBSV = (parseFloat(rateX)/parseFloat(rateB));
console.log('GNBSV: ', GNBSV);
const result = {GNBSV, rateB, rateX};
console.log("Rates result: ", result)
return result;
}
rates().then(result => {
...