我正在开发一个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在前端输出。