pleroma-fe/src/services/fetcher/fetcher.js

24 lines
400 B
JavaScript

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
}