UI crash due to multiple redundant telemetry requests fix

This commit is contained in:
VakarisZ 2020-05-21 15:34:57 +03:00
parent f941c9c5fc
commit 598872afee
1 changed files with 8 additions and 3 deletions

View File

@ -23,7 +23,8 @@ class MapPageComponent extends AuthComponent {
telemetryLastTimestamp: null, telemetryLastTimestamp: null,
isScrolledUp: false, isScrolledUp: false,
telemetryLines: 0, telemetryLines: 0,
telemetryCurrentLine: 0 telemetryCurrentLine: 0,
telemetryUpdateInProgress: false
}; };
this.telemConsole = React.createRef(); this.telemConsole = React.createRef();
this.handleScroll = this.handleScroll.bind(this); this.handleScroll = this.handleScroll.bind(this);
@ -72,16 +73,20 @@ class MapPageComponent extends AuthComponent {
}; };
updateTelemetryFromServer = () => { updateTelemetryFromServer = () => {
if( this.state.telemetryUpdateInProgress ) {
return
}
this.setState({telemetryUpdateInProgress: true});
this.authFetch('/api/telemetry-feed?timestamp=' + this.state.telemetryLastTimestamp) this.authFetch('/api/telemetry-feed?timestamp=' + this.state.telemetryLastTimestamp)
.then(res => res.json()) .then(res => res.json())
.then(res => { .then(res => {
if ('telemetries' in res) { if ('telemetries' in res) {
let newTelem = this.state.telemetry.concat(res['telemetries']); let newTelem = this.state.telemetry.concat(res['telemetries']);
this.setState( this.setState(
{ {
telemetry: newTelem, telemetry: newTelem,
telemetryLastTimestamp: res['timestamp'] telemetryLastTimestamp: res['timestamp'],
telemetryUpdateInProgress: false
}); });
this.props.onStatusChange(); this.props.onStatusChange();