gpt4 book ai didi

Javascript 获取变量问题

转载 作者:行者123 更新时间:2023-12-02 22:45:28 25 4
gpt4 key购买 nike

这里是平庸的 javascript 开发人员,需要一些帮助..

我想在 for 循环中多次对某个 url 进行 GET 调用。

我正在尝试使用 fetch,但由于 promise /计时情况,我不知道如何使其工作。

下面是代码,获取方法完全有可能对我想要做的事情没有意义。感谢您的帮助,无论是帮助我编写代码还是告诉我我是白痴并建议替代方案:)

var fromAmt = 100;
var fromOOP = 50;
var fromGM = 50;
var fromCur = "USD"
var toCur = ["USD","EUR","INR","GBP","SGD"];

var adjAmt = [];

async function getConversionAsync(fcur,tcur,amt)
{
let response = await fetch('https://data.fixer.io/api/convert?access_key=xyxyxyxyxyxyxy&from=' + fcur + '&to=' + tcur + '&amount=' + amt);
let data = await response.json()
return data;
}

for (i = 0; i < toCur.length; i++) {

getConversionAsync(fromCur,toCur[0].toString(),fromAmt)
.then(data => display(data));

}


function display(thing){
adjAmt.push(thing.result);
}

document.getElementById("something").innerHTML = adjAmt[0].toString();

最佳答案

在您的示例中,document.getElementById("something").innerHTML = adjAmt[0].toString(); 在将任何内容推送到 adjAmt 之前执行。您需要等待循环调用完成才能显示结果,为此您可以将所有内容包装在异步函数中。

const fromAmt = 100;
const fromOOP = 50;
const fromGM = 50;
const fromCur = 'USD';
const toCur = ['USD', 'EUR', 'INR', 'GBP', 'SGD'];

const adjAmt = [];

const getConversionAsync = async (fcur, tcur, amt) => {
const response = await fetch(`https://data.fixer.io/api/convert?access_key=xyxyxyxyxyxyxy&from=${fcur}&to=${tcur}&amount=${amt}`);
return response.json();
}

function display(thing) {
adjAmt.push(thing.result);
}

(async () => {
for (i = 0; i < toCur.length; i += 1) {
const data = await getConversionAsync(fromCur, toCur[0], fromAmt);
display(data);
}
document.getElementById('something').innerHTML = adjAmt[0].toString();
})();

关于Javascript 获取变量问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58422442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com