How to Periodically Check Whether Data from API Has Changed

I’m fetching weather data from OpenWeather API for a given location and want to check, every minute, whether that data is still current (and if not, change it). I’ve used setInterval but the data doesn’t seem to update every minute–here are the functions in question.

In the controller…

const controlStation = async function (station) {
  try {
    // Updates weather given station
    const weather = await model.updateWeather(station);

    // Periodically checks if weather data is current
    //  If not, updates weather
    let checkWeather = await model.checkWeather(station);
    setInterval(checkWeather, 1 * MINUTES);

    // Renders weather
    weatherView.render(model.stations[station], weather);
  } catch (err) {
    console.log(err);
  }
};

controlStation("fbi");

In the model…

export const state = {};

export const stations = {
  fbi: {
    name: "fbi",
    city: "Sydney, Australia",
    coordinates: [-33.5346, 151.12],
  },
  kutx: {
    name: "kutx",
    city: "Austin, Texas, United States of America",
    coordinates: [30.1721, -97.4402],
  },
  cism: {
    name: "cism",
    city: "Montreal, Quebec, Canada",
    coordinates: [45.3023, -73.3644],
  },
};

export const updateWeather = async function (station) {
  try {
    const [lat, lng] = stations[station].coordinates;
    const url = `${API_WEATHER_URL}lat=${lat}&lon=${lng}&appid=${API_WEATHER_KEY}&units=imperial`;

    const data = await fetch(url);
    const weather = await data.json();
    state.station = station;
    state.weather = weather;

    return weather;
  } catch (err) {
    console.error(err);
  }
};

export const checkWeather = async function (station) {
  try {
    console.log("Checking weather!");
    const needsUpdate = false;

    const prev = state;
    console.log("prev", prev.weather);
    const cur = await updateWeather(state.station);
    console.log("cur", cur);

    if (
      prev.weather.wind.speed !== cur.wind.speed ||
      prev.weather.wind.dir !== cur.wind.dir ||
      prev.weather.main.temp !== cur.main.temp ||
      prev.weather.weather[0].description !== cur.weather[0].description
    ) {
      console.log("Changing now");
      needsUpdate = true;
    } else console.log(`They were same at ${Date.now()}`);

    return needsUpdate;
  } catch (err) {
    console.error(err);
  }
};

I know I still need to do something if the weather data has changed and is different than what’s in state, but I don’t even see it making a new comparison through the checkWeather function every minute.