From 944b99d1add5800d247f0f4f1c14663e0420ea5c Mon Sep 17 00:00:00 2001 From: Thomas Rupprecht Date: Wed, 28 Aug 2019 21:50:30 +0200 Subject: [PATCH] check for online/offline events if fetching should be enabled --- background/index.js | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/background/index.js b/background/index.js index 51eeea8..ce35152 100644 --- a/background/index.js +++ b/background/index.js @@ -57,7 +57,29 @@ const fetchNewData = () => { }); }; -fetchNewData(); -setInterval(() => { +let intervalHandler = null; + +const stopFetching = () => { + if (intervalHandler !== null) { + clearInterval(intervalHandler); + intervalHandler = null; + } +}; +const startFetching = () => { fetchNewData(); -}, Config.refreshTimeout); \ No newline at end of file + if (intervalHandler === null) { + intervalHandler = setInterval(() => { + fetchNewData(); + }, Config.refreshTimeout); + } +}; + +window.addEventListener('offline', () => { + stopFetching(); +}); +window.addEventListener('online', () => { + startFetching(); +}); +if (window.navigator.onLine) { + startFetching(); +}