我想从 API 获取一个值并保存该值以供以后使用,但我遇到了麻烦。
当我使用 console.log(( 时,我得到了我想要的结果,但是当我对"return(("做完全相同的事情时,我得到这个结果:
承诺{<已解决>:"我想要的价值"}已解决>
我将向您展示我的代码:
const getDataAA = async () => {
const response = await fetch("https://s3.amazonaws.com/dolartoday/data.json")
const data = await response.json()
console.log("async/await based")
console.log(data.USD.transferencia)
}
当我调用getDataAA((时,我在控制台中得到了我想要的东西,但我想存储该值以便使用它,所以我更改了"console.log(data。USD.transferencia("为"返回(数据。美元转移("。
然后我做这样的事情来保存值:
let dolarPrice = getDataAA()
为什么当我使用"console.log"时,我得到了值,但当我使用"return"时,我也得到了承诺?
const getDataAA = async () => {
const response = await fetch("https://s3.amazonaws.com/dolartoday/data.json")
return response.json()
}
let response = await getDataAA();
console.log(response);
--编辑
所以这是另一个如何使用它的例子。
- 异步方法(getDataAA(必须返回一些东西。
- 每次需要调用异步方法时,都必须使用 await ( 如果你等到它完成(
- 每次使用 await 时,该方法都必须是异步的。
<!DOCTYPE html>
<html>
<script type="text/javascript">
var f = async () => {
const getDataAA = async () => {
const response = await fetch("https://s3.amazonaws.com/dolartoday/data.json")
return response.json()
}
let response = await getDataAA();
console.log(response);
}
f();
</script>
</html>
我发现了解决这个问题的方法!我在函数外部定义了一个变量,然后函数将我想要的值存储在该变量中。这是我的代码:
const getDataAA = async () => {
const response = await fetch("https://s3.amazonaws.com/dolartoday/data.json")
const data = await response.json()
console.log("async/await based")
dolarPrice = (data.USD.transferencia)
}
let dolarPrice
getDataAA()
这样,我将值存储在"dolarPrice"变量中。感谢所有回答我问题的人,感谢你们所有人,我找到了解决方案。