summaryrefslogtreecommitdiffhomepage
path: root/gui/src/shared
diff options
context:
space:
mode:
authorOskar Nyberg <oskar@mullvad.net>2020-04-21 11:24:33 +0200
committerOskar Nyberg <oskar@mullvad.net>2020-04-21 12:06:06 +0200
commit513b78e1f665f930397a123764de2b48309da3e3 (patch)
tree09fd98542d83e4da1506c6ebfbf8c6fe21618da1 /gui/src/shared
parent8f837f09c5658dad894ee2b974af5316fc1cb0a9 (diff)
downloadmullvadvpn-513b78e1f665f930397a123764de2b48309da3e3.tar.xz
mullvadvpn-513b78e1f665f930397a123764de2b48309da3e3.zip
Refactor account data cache retry and delay logic
Diffstat (limited to 'gui/src/shared')
-rw-r--r--gui/src/shared/scheduler.ts12
1 files changed, 12 insertions, 0 deletions
diff --git a/gui/src/shared/scheduler.ts b/gui/src/shared/scheduler.ts
new file mode 100644
index 0000000000..af28a7e95b
--- /dev/null
+++ b/gui/src/shared/scheduler.ts
@@ -0,0 +1,12 @@
+export class Scheduler {
+ private timer?: number;
+
+ public schedule(action: () => void, delay: number) {
+ this.cancel();
+ this.timer = setTimeout(action, delay);
+ }
+
+ public cancel() {
+ clearTimeout(this.timer);
+ }
+}