Javascript 货币XE计算

Javascript 货币XE计算,javascript,jquery,reactjs,Javascript,Jquery,Reactjs,我有一个简单的单页web应用程序。它从两个不同的API获取货币数据(以美元为单位),成功检索后,promise被解析,一些计算计算出英镑/比特币汇率 我正试图找到一个干净的方法,然后转向汇率 默认值:显示英镑/比特币 切换按钮:显示比特币/GBP 您的任何帮助都将不胜感激 该应用程序是用React构建的,但这应该会有所不同 App.js axios.all([this.getGBP(), this.getBitcoin()]) .then(axios.spread( (gbpVal, bit

我有一个简单的单页web应用程序。它从两个不同的API获取货币数据(以美元为单位),成功检索后,
promise
被解析,一些计算计算出英镑/比特币汇率

我正试图找到一个干净的方法,然后转向汇率

默认值:显示英镑/比特币 切换按钮:显示比特币/GBP

您的任何帮助都将不胜感激

该应用程序是用React构建的,但这应该会有所不同

App.js

axios.all([this.getGBP(), this.getBitcoin()])
  .then(axios.spread( (gbpVal, bitcoinVal) => { 
    const gbp  = xVal.data.rates.GBP;
    const bitcoin  = yVal.data.bpi.USD.rate_float;
    const xOfy = this.xOfy(gbp, bitcoin);
    const yOfX = this.yOfX(bitcoin, gbp);
  }));


getGBP() {
    // returns gbp from api
}

getBitcoin() {
    // returns bitcoin from api
}

xOfy(unit, value) {
    return 1 / (unit * value);
}

yOfX(unit, value) {
  return unit * value;
}
请求#1-提供美元/比特币

{  
   "bpi":{  
      "USD":{  
         "code":"USD",
         "symbol":"$",
         "rate":"4,346.6913",
         "description":"United States Dollar",
         "rate_float":4346.6913
      }
   }
}
请求#2-给出英镑/美元

{
  "base": "USD",
  "rates": {
    "GBP": 0.762441,
  }
}

我认为你是在按照写的方式工作。如果你专注于使你的函数更纯粹一点,它们将为你工作。此外,如果这使它更容易的话,api可以返回这些值,而不是美元?

是的,这是我最后采用的方法(使用不太具体的函数)。很遗憾,由于API设置的原因,我无法获取GBP值。哦,是的-很抱歉,我刚刚看到它需要付费订阅才能获取/GBP值。很高兴你让它工作了。