1.0.1 • Published 3 years ago

delayable-setinterval v1.0.1

Weekly downloads
8
License
MIT
Repository
github
Last release
3 years ago

Delayable setInterval

An asynchronous setInterval that can be delayed using promises

Build Status

About

JavaScript's setInterval works in a synchronous manner which is non-ideal for handling Promises or asynchronous methods. setDelayedInterval matches setInterval's functionality besides the handling of thenable return values.

If a callback of setDelayedInterval returns a Promise, the interval timer is delayed by the execution of that promise.

Delayable setInterval timing example

The timer, if not presented with asynchronous results from callbacks, will execute at expected intervals. Upon receiving a promise the starting of the next interval timer will be delayed as shown above.

Usage

Usage is much the same as setInterval:

const { clearDelayedInterval, setDelayedInterval } = require("delayable-setinterval");

const interval = setDelayedInterval(async () => {
    await someAsyncTask();
}, 1000);

// Later
clearDelayedInterval(interval);

The example above uses an async method to perform some asynchronous tasks. The method is fired every 1000ms, but is delayed between initialisations of the timer by the time it takes to complete the async callback.

1.0.1

3 years ago

1.0.0

3 years ago

0.1.1

6 years ago

0.1.0

6 years ago