JavaScript:函数内的更新变量不持久

时间:2019-09-27 19:17:40

标签: javascript json reactjs asynchronous

我正在开发一个React应用,并且试图将数据从API请求传递到我们的UI。我可以获取数据,但是在创建const行时调用它们时,像bitcoinPrice这样的变量不会更新。行数组是传递给用户界面的内容。我知道这与异步/同步功能有关,但是我不确定如何与代码同步。

getPrices()从API请求中获取数据。

如有必要,我可以提供更多信息,不确定是否有意义。

function createData(id, date, name, amount) {
    return { id, date, name, amount };
  }

  var bitcoinPrice = 6969;
  var litecoinPrice = 6969;
  var etheriumPrice = 6969;
  var ripplePrice = 6969;
  var dogePrice = 6969;

  getPrices().then(function(result) {
    result.forEach(coin => {
        if (coin.currency == "BTC") {
          bitcoinPrice = coin.price;
        }
        if (coin.currency == "LTC") {
          litecoinPrice = coin.price;
        }
        if (coin.currency == "ETH") {
          etheriumPrice = coin.price;
        }
        if (coin.currency == "XRP") {
          ripplePrice = coin.price;
        }
        if (coin.currency == "DOGE") {
          dogePrice = coin.price;
        }
      });   
  });

  const rows = [
    createData(0, '16 Mar, 2019', 'Bitcoin', bitcoinPrice),
    createData(1, '16 Mar, 2019', 'Litecoin', litecoinPrice),
    createData(2, '16 Mar, 2019', 'Etherium', etheriumPrice),
    createData(3, '16 Mar, 2019', 'Ripple', ripplePrice),
    createData(4, '15 Mar, 2019', 'Dogecoin', dogePrice),
  ];

结果:虚拟的初始化值6969在前端输出。

0 个答案:

没有答案