Novice, Paragon, Master
Introducing npm Teams! Private packages + team management tools.Learn more »

p-min-delay

3.1.0 • Public • Published

p-min-delay Build Status

Delay a promise a minimum amount of time

While the delay module delays the promise a specified amount of time and then resolves it, this module ensures the promise resolves after the specified amount of time.

Useful when you have a promise that may settle immediately or may take some time, and you want to ensure it doesn't settle too fast. For example, if you want to show a loading indicator for at least 1 second (but longer if needed) to prevent a confusing flash in the UI.

Install

$ npm install p-min-delay

Usage

const pMinDelay = require('p-min-delay');
 
(async () => {
    const value = await pMinDelay(somePromise, 1000);
    // Executed after minimum 1 second even if `somePromise` fulfills before that
})();

API

pMinDelay(promise, minimumDelay, [options])

promise

Type: Promise

Promise to delay.

minimumDelay

Type: number

Time in milliseconds.

options

Type: Object

delayRejection

Type: boolean
Default: true

Delay the rejection.

Turn this off if you want a rejected promise to fail fast.

Related

  • delay - Delay a promise a specified amount of time
  • p-immediate - Returns a promise resolved in the next event loop - think setImmediate()
  • p-timeout - Timeout a promise after a specified amount of time
  • More…

License

MIT © Sindre Sorhus

Install

npm i p-min-delay

DownloadsWeekly Downloads

3,335

Version

3.1.0

License

MIT

Unpacked Size

5.26 kB

Total Files

5

Last publish

Collaborators

  • avatar