async function fetchData()

in index.js [76:101]


async function fetchData() {
  fetching = true;
  let carbonData;
  let priceData;

  // Fetch data in parrallel
  await Promise.all([
      fetch("data/carbon.csv")
          .then(data => data.text())
          .then(text => carbonData = parseCarbonCSV(text)),
      fetch("data/prices.json")
          .then(data => data.json())
          .then(json => priceData = json),
      fetch("data/regions.json")
          .then(data => data.json())
          .then(json => regions = json)
  ]);

  fetching = false;

  // Merge all data in regions object.
  for (let region in regions) {
      Object.assign(regions[region], priceData[region]);
      Object.assign(regions[region], carbonData[region]);
  }
}