diff --git a/scripts/static/js/main.js b/scripts/static/js/main.js index 46f09abbb..2d2db3985 100644 --- a/scripts/static/js/main.js +++ b/scripts/static/js/main.js @@ -118,7 +118,12 @@ function loadAndRenderData(data) { if (window.STATIC_DATA) { loadAndRenderData(window.STATIC_DATA); } else { + let isFetching = false; + function fetchAndRender() { + if (isFetching) return; + isFetching = true; + fetch('/api/data') .then(resp => resp.json()) .then(data => { @@ -128,6 +133,12 @@ if (window.STATIC_DATA) { } lastDataStr = dataStr; loadAndRenderData(data); + }) + .catch(err => { + console.error('Failed to fetch data:', err); + }) + .finally(() => { + isFetching = false; }); } fetchAndRender();