【问题标题】:Unable to get city name in a global variable in Node Js [duplicate]无法在 Node Js 的全局变量中获取城市名称 [重复]
【发布时间】:2022-11-07 22:10:02
【问题描述】:
let city;
async function getCity() {
let apiKey = 'api_key';
let response = await fetch(`https://api.ipdata.co?api-key=${apiKey}`);
let data = await response.json();
city = data.city;
}
await getCity();
console.log(city);
我想将 city 用作全局变量,以便稍后在代码中使用它,但会出现错误。
等待 getCity();
^^^^^
SyntaxError: await 仅在异步函数和模块的顶层主体中有效
这是错误。
请帮我解决这个问题。
【问题讨论】:
标签:
javascript
async-await
fetch-api
【解决方案1】:
我认为在调用函数getCity() 时不需要await。我无法获得值,但我修复了错误。尝试这个:
let city;
async function getCity() {
let apiKey = 'api_key';
let response = await fetch(`https://api.ipdata.co?api-key=${apiKey}`);
let data = await response.json();
city = data.city;
}
getCity().then(
function (value) {
console.log(value)
},
function (error) {
console.log(error)
}
);