aboutsummaryrefslogtreecommitdiff
path: root/src/services/fetcher/fetcher.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/services/fetcher/fetcher.js')
-rw-r--r--src/services/fetcher/fetcher.js23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/services/fetcher/fetcher.js b/src/services/fetcher/fetcher.js
new file mode 100644
index 00000000..1d9239cc
--- /dev/null
+++ b/src/services/fetcher/fetcher.js
@@ -0,0 +1,23 @@
+
+export const makeFetcher = (call, interval) => {
+ let stopped = false
+ let timeout = null
+ let func = () => {}
+
+ func = () => {
+ call().finally(() => {
+ console.log('callbacks')
+ if (stopped) return
+ timeout = window.setTimeout(func, interval)
+ })
+ }
+
+ const stopFetcher = () => {
+ stopped = true
+ window.cancelTimeout(timeout)
+ }
+
+ func()
+
+ return stopFetcher
+}