stateful-dynamic-interval
🕐 The stateful dynamic interval
A pauseable and resumeable setInterval
built around dynamic-interval
Install
npm install --save stateful-dynamic-interval
then
or
Usage
const timer = console 1000 timer// ...timer
You may also customize the underlying timer and can change the duration of the interval on each tick.
Check out the dynamic-interval
package for more details.
Example
This script doubles the amount of time between intervals on each iteration, starting with 50ms.
const timer = wait: contextwait * 2 50
Interface
setStatefulDynterval(step, config, api)
step
: The function to call on each interval tickconfig
: Adynamic-interval
configuration objectapi
An optional custom timing API
.run()
Starts the interval. Instantiated StatefulDyntervals
will automatically call run
unless the lazy
config property is set to true
.
- Alias:
play
.clear()
Stops or clears out the interval. Once an interval has been cleared it cannot be resumed.
- Alias:
stop
.pause()
Pauses the interval so that it can be resumed at a later point.
.resume()
Resumes a previously paused interval.
.add(interval)
Synchronizes the parent interval with a child interval.
Child intervals automatically subscribe to the following topics of their parents:
run
clear
pause
resume
.detach()
Desynchronizes a parent interval from all of its children by unsubscribing them from their parent topics.
License
MIT