异步函数承诺(axios)



我正试图从ethgastaion获取天然气价格,并在全球范围内使用该值。有没有一种方法可以让我在.then((部分中包含一个全局变量,并将异步函数的值分配给该变量?

我得到了正确的值,但无法将其分配给全局变量。

// Eth Gas Station
let fast_value = 0;
async function  getCurrentGasPrices() {
let response = await axios.get(process.env.ETH_GAS_Station_API)
let price = {
fast: response.data.fast
}
return price
}
getCurrentGasPrices().then(value => {
fast_value += value.fast;
})
console.log(fast_value)

感谢您的帮助!

您可以将所有内容打包到一个立即调用的异步函数中,因此我们可以在内部使用await:

(async () => {
let fast_value = 0;
async function getCurrentGasPrices() {
let response = await   axios.get(process.env.ETH_GAS_Station_API);
let price = {
fast: response.data,
};
return price;
}
let response = await getCurrentGasPrices();
fast_value = response.fast;
console.log(fast_value);
})();

最新更新