【发布时间】:2021-01-09 13:07:10
【问题描述】:
我正在尝试使用 Fetch 从开放 API 检索数据(汇率)。一切正常,JSON 对象已成功记录到控制台。但是,我还需要所有其他功能都可以访问这些数据。 getCurrencyRates 函数应该返回 JSON 对象,但它返回“未定义”。有什么问题?
<script>
fetch('https://api.exchangeratesapi.io/latest')
.then(function(response){
return response.json();
}).then(function(json){
getCurrencyRates(json);
}).catch(function(error){
console.log(error);
});
// This function should return currency rates in JSON object
function getCurrencyRates(rates) {
console.log(rates);
return rates;
}
</script>
【问题讨论】:
-
利用承诺!将 fetch 包装成一个 Promise,解析为您需要的数据。
-
....或者您可以将响应存储在
global variable中,以便根据需要传递给其他函数。 -
你需要查看
async和await -
感谢@Always Helping,问题得以解决,但由于某种原因他的回答消失了......
-
@Mr.Engineer 那是因为答案质量非常低且容易出错。这个问题是重复的,请查看另一个问题的答案以了解如何正确进行异步编程。
标签: javascript json fetch-api