如果在使用 fetch 时显示错误答案

If else displaying wrong answer when using fetch

所以我想做的是创建一个 if/else 语句,如果你的 IP 来自日本,控制台日志将显示“你在日本”,如果你的 IP 来自任何其他控制台日志将显示“我猜你在美国”。唯一的问题是,它不起作用。即使我使用 VPN 假装我来自日本,控制台日志仍然显示“我猜你在美国”。

这是我目前拥有的代码:

async function country() {
    let response = await fetch("https://ipinfo.io/json?token=8a21f471f4e583")
    let CountryResponse = await response.json()
    console.log(CountryResponse)

    if (CountryResponse == "JP") {
       console.log('You are in Japan');
    } else {
        console.log('I guess you are in the USA');
    }
  }

  country()

所以基本上,如果 IP 来自日本,我希望控制台日志显示“你在日本”,控制台日志可以显示“我猜你在美国”的任何其他内容。

if (CountryResponse.country === "JP") {
       console.log('You are in Japan');
    } else {
        console.log('I guess you are in the USA');
    }

您正在呼叫的api不只是return县代码,而是一个对象包含此信息