货币XE计算

时间:2017-10-05 20:58:48

标签: javascript jquery reactjs

我有一个简单的单页网页应用。它从两个不同的API获取货币数据(以美元为单位),成功检索后,promise得到解决,一些计算计算出 GBP / Bitcoin 汇率。

我试图找到一种干净的方式然后转换到汇率,即。

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

非常感谢您的任何帮助。

该应用程序是使用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 - 给出GBP / USD

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

1 个答案:

答案 0 :(得分:1)

我认为你正在使用写入类型的行。如果你专注于让你的功能更纯粹,它们将为你工作。另外,api可以返回这两个值而不是美元,如果这样可以更容易吗?