【问题标题】: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)
        }
    );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-03
      • 1970-01-01
      • 2011-10-11
      • 2013-03-03
      • 1970-01-01
      • 1970-01-01
      • 2013-01-21
      相关资源
      最近更新 更多