diff options
| author | Oskar Nyberg <oskar@mullvad.net> | 2020-06-15 20:12:03 +0200 |
|---|---|---|
| committer | Oskar Nyberg <oskar@mullvad.net> | 2020-06-24 11:23:12 +0200 |
| commit | e66685fc8024d9ce8b6448199b2109e9123bd3b6 (patch) | |
| tree | f814fc7dd4495805d7e69b649889ef0b77e823c4 /gui/src | |
| parent | 1f54942ca8da86efeb64b174dcceecdd9e48a85c (diff) | |
| download | mullvadvpn-e66685fc8024d9ce8b6448199b2109e9123bd3b6.tar.xz mullvadvpn-e66685fc8024d9ce8b6448199b2109e9123bd3b6.zip | |
Add isRunning getter in Scheduler
Diffstat (limited to 'gui/src')
| -rw-r--r-- | gui/src/shared/scheduler.ts | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/gui/src/shared/scheduler.ts b/gui/src/shared/scheduler.ts index b31f0cda7c..8ae5a2cbf0 100644 --- a/gui/src/shared/scheduler.ts +++ b/gui/src/shared/scheduler.ts @@ -2,17 +2,28 @@ import { useEffect, useMemo } from 'react'; export class Scheduler { private timer?: NodeJS.Timeout; + private running = false; public schedule(action: () => void, delay = 0) { this.cancel(); - this.timer = global.setTimeout(action, delay); + + this.running = true; + this.timer = global.setTimeout(() => { + this.running = false; + action(); + }, delay); } public cancel() { if (this.timer) { clearTimeout(this.timer); + this.running = false; } } + + public get isRunning() { + return this.running; + } } export function useScheduler() { |
