From ffb1804c59c4fb6d837118062dd477a83a5a99d3 Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Tue, 28 Apr 2020 12:09:37 -0500 Subject: [PATCH] Use setInterval instead of setTimeout in CaptchaField --- .../features/auth_login/components/captcha.js | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/app/gabsocial/features/auth_login/components/captcha.js b/app/gabsocial/features/auth_login/components/captcha.js index 9542111b7..5334ddc5e 100644 --- a/app/gabsocial/features/auth_login/components/captcha.js +++ b/app/gabsocial/features/auth_login/components/captcha.js @@ -28,18 +28,19 @@ class CaptchaField extends React.Component { state = { captcha: ImmutableMap(), + refresh: undefined, } - setRefreshTimeout = () => { + startRefresh = () => { const { refreshInterval } = this.props; if (refreshInterval) { - const refreshTimeout = setTimeout(this.fetchCaptcha, refreshInterval); - this.setState({ refreshTimeout }); - } + const refresh = setInterval(this.fetchCaptcha, refreshInterval); + this.setState({ refresh }); + }; } - clearRefreshTimeout = () => { - clearTimeout(this.state.refreshTimeout); + endRefresh = () => { + clearInterval(this.state.refresh); } fetchCaptcha = () => { @@ -51,15 +52,15 @@ class CaptchaField extends React.Component { }).catch(error => { onFetchFail(error); }); - this.setRefreshTimeout(); // Refresh periodically } componentWillMount() { this.fetchCaptcha(); + this.startRefresh(); // Refresh periodically } componentWillUnmount() { - this.clearRefreshTimeout(); + this.endRefresh(); } render() {