diff --git a/src/loaders/RepositoryDataLoader.ts b/src/loaders/RepositoryDataLoader.ts index 132ed3d..c4996f1 100644 --- a/src/loaders/RepositoryDataLoader.ts +++ b/src/loaders/RepositoryDataLoader.ts @@ -22,10 +22,13 @@ const baseUrl = "https://passiogo.com/mapGetData.php"; export class RepositoryDataLoader { private shouldBeRunning: boolean = false; + private timer: any; constructor( private repository: GetterSetterRepository, - ) {} + ) { + this.startFetchDataAndUpdate = this.startFetchDataAndUpdate.bind(this); + } public async start() { if (this.shouldBeRunning) { @@ -52,11 +55,9 @@ export class RepositoryDataLoader { await this.fetchAndUpdateEtaDataForExistingOrderedStops(); } catch (e) { console.error(e); - } finally { - // TODO test if memoization of shouldBeRunning works as intended, - // I have no idea how JavaScript works - // setTimeout(this.startFetchDataAndUpdate, timeout); } + + this.timer = setTimeout(this.startFetchDataAndUpdate, timeout); } private async fetchAndUpdateSystemData() {