From 3299bcd9baff65f2a49b2beda810ce4a87611a53 Mon Sep 17 00:00:00 2001
From: Owen Graham <ohgraham1@madisoncollege.edu>
Date: Fri, 21 Jul 2023 15:40:32 -0500
Subject: [PATCH] Alert the user when data fails loading

---
 visualizer/static/visualizer.js | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/visualizer/static/visualizer.js b/visualizer/static/visualizer.js
index ebac0bd..ccf74e6 100644
--- a/visualizer/static/visualizer.js
+++ b/visualizer/static/visualizer.js
@@ -160,8 +160,14 @@ async function getData(name, year) {
   const key = JSON.stringify([name, year]);
   let data = cachedData[key];
   if (data === undefined) {
-    data = await fetchData(
-      `${SCRIPT_ROOT}/data.cgi?station=${name}&year=${year}`);
+    try {
+      data = await fetchData(
+        `${SCRIPT_ROOT}/data.cgi?station=${name}&year=${year}`);
+    } catch (err) {
+      console.error(err);
+      alert(`Error fetching data for ${name}, ${year}`);
+      data = [];
+    }
     cachedData[key] = data;
   }
   return data;
@@ -169,7 +175,10 @@ async function getData(name, year) {
 
 async function fetchData(jsonURL) {
   const res = await fetch(jsonURL);
-  return await res.json();
+  if (res.ok) {
+    return await res.json();
+  }
+  throw new Error('response not OK');
 }
 
 async function switchToSelected() {
-- 
GitLab