JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 5372822
  • Score
    100M100P100Q232714F
  • License MIT

Delay a promise a specified amount of time

Package Exports

  • delay

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (delay) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

delay Build Status

Delay a promise a specified amount of time

Install

$ npm install --save delay

Usage

const delay = require('delay');

delay(200)
    .then(() => {
        // Executed after 200 milliseconds
    });

somePromise()
    .then(delay(100))
    .then(result => {
        // Executed 100 milliseconds after somePromise resolves
        // The result from somePromise is passed through
    });

Advanced usage

const delay = require('delay');

// With Node.js >=7.6 and async functions
async () => {
    bar();

    await delay(100);

    // Executed 100 milliseconds later
    baz();
}();

// There's also `delay.reject()` that takes the value, and rejects it `ms` later
Promise.resolve('foo')
    .then(delay.reject(100))
    .then(x => blah()) // Never executed
    .catch(err => {
        // Executed 100 milliseconds later
        // err === 'foo'
    });

// You can also specify the rejection value
Promise.resolve('foo')
    .then(delay.reject(100, 'bar'))
    .then(x => blah()) // Never executed
    .catch(err => {
        // executed 100 milliseconds later
        // err === 'bar'
    });

// You can cancel the promise by calling `.cancel()`
async () => {
    const delaying = delay(1000);
    setTimeout(() => {
        delaying.cancel();
    }, 500);
    try {
        await delaying;
    } catch (err) {
        // `err` is an instance of `delay.CancelError`
    }
}();

API

delay(ms, [value])

Delay the promise and then resolve.

delay.reject(ms, [value])

Delay the promise and then reject.

ms

Type: number

Milliseconds to delay the promise.

value

Type: any

Value to pass down the promise chain. Overrides any existing value.

delay.CancelError

Exposed for instance checking.

delay#cancel()

Cancel the delay. Results in the promise being rejected with a delay.CancelError error.

  • p-min-delay - Delay a promise a minimum 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