Package detail

sleep-promise

brummelte942.1kMIT9.1.0

Resolves a promise after a specified delay

sleep, promise, delay

readme

sleep-promise License NPM version NPM downloads Build Coverage

sleep-promise resolves a promise after a specified delay.

Installation

node.js

npm install sleep-promise

Usage async / await

import sleep from 'sleep-promise';

(async () => {
    await sleep(2000);
    console.log('2 seconds later …');
})();

Usage ES5

var sleep = require('sleep-promise');

sleep(2000).then(function() {
    console.log('2 seconds later …');
});

Usage in a promise chain

import sleep from 'sleep-promise';

let trace = value => {
    console.log(value);
    return value;
};

sleep(2000)
    .then(() => 'hello')
    .then(trace)
    .then(sleep(1000))
    .then(value => value + ' world')
    .then(trace)
    .then(sleep(500))
    .then(value => value + '!')
    .then(trace);

// [2 seconds sleep]
// hello
// [1 second sleep]
// hello world
// [500 ms sleep]
// hello world!

Usage in a test file that mocks setTimeout

import sinon from 'sinon';
import sleep from 'sleep-promise';

const clock = sinon.useFakeTimers();

(async () => {
    // 2 seconds faked by sinon
    const sleepPromise = sleep(2000);
    clock.tick(2000);
    await sleepPromise;
    console.log('instant');

    // Caches global setTimeout before sinon replaced it
    const sleepPromise2 = sleep(2000, { useCachedSetTimeout: true });
    clock.tick(2000);
    await sleepPromise2;
    console.log('2 seconds later');
})();

License

MIT

changelog

9.1.0 (2021-01-06)

Features

  • release: release new version (f48e5c4)

9.0.1 (2021-01-06)

Bug Fixes

  • deps: update dependency rollup to ^2.36.0 (a6e5427)

9.0.0 (2020-10-18)

  • chore: add github actions (a355a7b)
  • chore: add pnpify SDKs (396c1a7)
  • chore: add renovate (069d930)
  • chore: add semantic release (c26e0c1)
  • chore: configure junit path (ca2b1af)
  • chore: lint all files (c2a17bd)
  • chore: remove prettier formatting (d7bb1ed)
  • chore: update circle CI node image (73f0135)
  • chore: update editorconfig (82a497b)
  • chore: update yarn to v2 (d31a858)
  • chore: yarn install (2a399b8)
  • chore: yarn install (f9c7617)
  • chore(babel): use transform runtime for jest (e119083)
  • chore(release): 9.0.0 [skip ci] (fbae007)
  • chore!: update dependencies (75a90f4)
  • chore!: use terser instead of babel minify (c3cdca3)
  • refactor: circle CI configuration file (52279a0)
  • refactor: eslint config (2861624)
  • refactor: json indentation (912b1dd)
  • refactor: rename index to sleep (b81aebb)
  • refactor: rollup config (988a828)

BREAKING CHANGE

  • build output has been changed, which might potentially be breaking

8.0.1 (2018-06-06)

  • Add coveralls (4d6405c)
  • Add license information to readme (48671ce)
  • Fix CI code test coverage (36303f2)
  • Fix license link (2661144)
  • Remove default value for createSleepPromise options (c683f77)
  • v8.0.1 (8abf89e)

8.0.0 (2018-06-06)

7.1.0 (2018-06-05)

7.0.0 (2018-06-05)

6.0.0 (2018-04-14)

5.1.0 (2018-04-11)

5.0.0 (2018-04-11)

4.1.0 (2018-04-08)

4.0.0 (2018-04-08)

3.0.0 (2018-04-07)

2.0.0 (2016-07-30)

1.0.0 (2015-08-22)