diff --git a/visualizer/static/visualizer.js b/visualizer/static/visualizer.js index ebac0bd1d1005caa3d1592dcae2bc6058959bb97..ccf74e65ebd8a40d04f3c9a2d0fed82854fc6f23 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() {