sleep-promise

9.1.0last stable release 4 years ago
Complexity Score
Low
Open Issues
N/A
Dependent Projects
246
Weekly Downloadsglobal
211,701

License

  • MIT
    • Yesattribution
    • Permissivelinking
    • Permissivedistribution
    • Permissivemodification
    • Nopatent grant
    • Yesprivate use
    • Permissivesublicensing
    • Notrademark grant

Downloads

Readme

sleep-promise

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

Dependencies

Loading dependencies...

CVE IssuesActive
0
Scorecards Score
3.20
Test Coverage
No Data
Follows Semver
Yes
Github Stars
86
Dependenciestotal
24
DependenciesOutdated
15
DependenciesDeprecated
2
Threat Modelling
No Data
Repo Audits
No Data

Learn how to distribute sleep-promise in your own private NPM registry

npm config set registry  https://npm.cloudsmith.com/owner/repo
Processing...
Done
npm install sleep-promise
Processing...
Done

15 Releases

NPM on Cloudsmith

Getting started with NPM on Cloudsmith is fast and easy.