Fix clear interval

Closes #315
This commit is contained in:
Ildar Kamalov 2018-09-12 15:38:54 +03:00
parent 6c70d8ca37
commit 9258fada47
1 changed files with 22 additions and 32 deletions

View File

@ -152,24 +152,19 @@ export const getTopStatsSuccess = createAction('GET_TOP_STATS_SUCCESS');
export const getTopStats = () => async (dispatch, getState) => { export const getTopStats = () => async (dispatch, getState) => {
dispatch(getTopStatsRequest()); dispatch(getTopStatsRequest());
try { const timer = setInterval(async () => {
const state = getState(); const state = getState();
const timer = setInterval(async () => { if (state.dashboard.isCoreRunning) {
if (state.dashboard.isCoreRunning) { clearInterval(timer);
try { try {
const stats = await apiClient.getGlobalStatsTop(); const stats = await apiClient.getGlobalStatsTop();
dispatch(getTopStatsSuccess(stats)); dispatch(getTopStatsSuccess(stats));
} catch (error) { } catch (error) {
alertify.error(`Failed to load statistics with status code ${error.response.status}`); alertify.error(`Failed to load statistics with status code ${error.response.status}`);
dispatch(getTopStatsFailure()); dispatch(getTopStatsFailure());
}
clearInterval(timer);
} }
}, 100); }
} catch (error) { }, 100);
console.error(error);
dispatch(getTopStatsFailure());
}
}; };
export const getLogsRequest = createAction('GET_LOGS_REQUEST'); export const getLogsRequest = createAction('GET_LOGS_REQUEST');
@ -178,24 +173,19 @@ export const getLogsSuccess = createAction('GET_LOGS_SUCCESS');
export const getLogs = () => async (dispatch, getState) => { export const getLogs = () => async (dispatch, getState) => {
dispatch(getLogsRequest()); dispatch(getLogsRequest());
try { const timer = setInterval(async () => {
const state = getState(); const state = getState();
const timer = setInterval(async () => { if (state.dashboard.isCoreRunning) {
if (state.dashboard.isCoreRunning) { clearInterval(timer);
try { try {
const logs = normalizeLogs(await apiClient.getQueryLog()); const logs = normalizeLogs(await apiClient.getQueryLog());
dispatch(getLogsSuccess(logs)); dispatch(getLogsSuccess(logs));
} catch (error) { } catch (error) {
alertify.error(`Failed to load query log with status code ${error.response.status}`); alertify.error(`Failed to load query log with status code ${error.response.status}`);
dispatch(getLogsFailure()); dispatch(getLogsFailure());
}
clearInterval(timer);
} }
}, 100); }
} catch (error) { }, 100);
console.error(error);
dispatch(getLogsFailure());
}
}; };
export const toggleLogStatusRequest = createAction('TOGGLE_LOGS_REQUEST'); export const toggleLogStatusRequest = createAction('TOGGLE_LOGS_REQUEST');