From 9258fada475b984f92ef58409db7f35e96dd8fff Mon Sep 17 00:00:00 2001 From: Ildar Kamalov Date: Wed, 12 Sep 2018 15:38:54 +0300 Subject: [PATCH] Fix clear interval Closes #315 --- client/src/actions/index.js | 54 +++++++++++++++---------------------- 1 file changed, 22 insertions(+), 32 deletions(-) diff --git a/client/src/actions/index.js b/client/src/actions/index.js index 5b693b92..7905ffb1 100644 --- a/client/src/actions/index.js +++ b/client/src/actions/index.js @@ -152,24 +152,19 @@ export const getTopStatsSuccess = createAction('GET_TOP_STATS_SUCCESS'); export const getTopStats = () => async (dispatch, getState) => { dispatch(getTopStatsRequest()); - try { + const timer = setInterval(async () => { const state = getState(); - const timer = setInterval(async () => { - if (state.dashboard.isCoreRunning) { - try { - const stats = await apiClient.getGlobalStatsTop(); - dispatch(getTopStatsSuccess(stats)); - } catch (error) { - alertify.error(`Failed to load statistics with status code ${error.response.status}`); - dispatch(getTopStatsFailure()); - } - clearInterval(timer); + if (state.dashboard.isCoreRunning) { + clearInterval(timer); + try { + const stats = await apiClient.getGlobalStatsTop(); + dispatch(getTopStatsSuccess(stats)); + } catch (error) { + alertify.error(`Failed to load statistics with status code ${error.response.status}`); + dispatch(getTopStatsFailure()); } - }, 100); - } catch (error) { - console.error(error); - dispatch(getTopStatsFailure()); - } + } + }, 100); }; export const getLogsRequest = createAction('GET_LOGS_REQUEST'); @@ -178,24 +173,19 @@ export const getLogsSuccess = createAction('GET_LOGS_SUCCESS'); export const getLogs = () => async (dispatch, getState) => { dispatch(getLogsRequest()); - try { + const timer = setInterval(async () => { const state = getState(); - const timer = setInterval(async () => { - if (state.dashboard.isCoreRunning) { - try { - const logs = normalizeLogs(await apiClient.getQueryLog()); - dispatch(getLogsSuccess(logs)); - } catch (error) { - alertify.error(`Failed to load query log with status code ${error.response.status}`); - dispatch(getLogsFailure()); - } - clearInterval(timer); + if (state.dashboard.isCoreRunning) { + clearInterval(timer); + try { + const logs = normalizeLogs(await apiClient.getQueryLog()); + dispatch(getLogsSuccess(logs)); + } catch (error) { + alertify.error(`Failed to load query log with status code ${error.response.status}`); + dispatch(getLogsFailure()); } - }, 100); - } catch (error) { - console.error(error); - dispatch(getLogsFailure()); - } + } + }, 100); }; export const toggleLogStatusRequest = createAction('TOGGLE_LOGS_REQUEST');