From 60ed620c137a6942bcb7bbb75bf1bc10935b6040 Mon Sep 17 00:00:00 2001 From: higsch Date: Wed, 4 Nov 2020 16:50:52 +0100 Subject: [PATCH] catch error from google trends API, let it result in empty array --- src/components/Visualization.svelte | 3 ++- src/utils/loadGoogleTrendsData.js | 18 +++++++++++------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/components/Visualization.svelte b/src/components/Visualization.svelte index 8865020..ea21d12 100644 --- a/src/components/Visualization.svelte +++ b/src/components/Visualization.svelte @@ -115,7 +115,8 @@ data: await loadGoogleTrendsData('disinformation'), selected: false } - ]; + ] + .filter((d) => d.data.length > 0); preloadImages(data); diff --git a/src/utils/loadGoogleTrendsData.js b/src/utils/loadGoogleTrendsData.js index e38f656..edc62f0 100644 --- a/src/utils/loadGoogleTrendsData.js +++ b/src/utils/loadGoogleTrendsData.js @@ -1,13 +1,17 @@ import { googleTrendsApiPath } from '../inputs/dataPaths'; const loadGoogleTrendsData = async (keyword) => { - const response = await fetch(`${googleTrendsApiPath}${encodeURIComponent(keyword)}`); - const data = (await response.json()).map((d) => ({ - ...d, - date: new Date(d.time * 1000) - })); -console.log(data) - return(data.filter((d) => !d.isPartial)); + let data = []; + try { + const response = await fetch(`${googleTrendsApiPath}${encodeURIComponent(keyword)}`); + data = (await response.json()).map((d) => ({ + ...d, + date: new Date(d.time * 1000) + })) + .filter((d) => !d.isPartial); + } finally { + return(data); + } }; export default loadGoogleTrendsData;