'Getting an error trying to run rapidapi call using async and await

I keep getting the following error when I try to run a GET request from Rapid API

Uncaught (in promise) ReferenceError: Cannot access 'getData' before initialization

const RAPIDAPI_KEY =
  import.meta.env.VITE_RAPIDAPI_KEY;
const GEOLOCATION_URL = "https://ip-geo-location.p.rapidapi.com/ip/check?format=json";
const GEOLOCATION_HOST = "ip-geo-location.p.rapidapi.com";

const getData = async(url, host) => {
  const response = await fetch(url, {
    method: "GET",
    headers: {
      accept: "application/json",
      "x-rapidapi-host": host,
      "x-rapidapi-key": RAPIDAPI_KEY
    }
  })

  if (!response.ok) {
    throw new Error(`HTTP error! status: ${response.status}`)
  }

  return await response.json();
}

const runApiQueries = async() => {
  // GET CITY NAME
  const getData = await getData(GEOLOCATION_URL, GEOLOCATION_HOST);
  console.log(getData);
}

runApiQueries();


Solution 1:[1]

The problem is the line

  const getData = await getData(GEOLOCATION_URL, GEOLOCATION_HOST);

it should've been

  const data = await getData(GEOLOCATION_URL, GEOLOCATION_HOST);

Under any circumstances, you shouldn't specify variable name the same as function or any other defined identifier.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Dharman