sleep-promise
Version:
Resolves a promise after a specified delay
97 lines (73 loc) • 2.44 kB
Markdown
_sleep-promise_ resolves a promise after a specified delay.
npm install sleep-promise
```javascript
import sleep from 'sleep-promise';
(async () => {
await sleep(2000);
console.log('2 seconds later …');
})();
```
```javascript
var sleep = require('sleep-promise');
sleep(2000).then(function() {
console.log('2 seconds later …');
});
```
```javascript
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!
```
```javascript
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.md)
[]: https://img.shields.io/github/license/brummelte/sleep-promise.svg
[]: https://github.com/brummelte/sleep-promise/blob/master/LICENSE.md
[]: https://img.shields.io/npm/v/sleep-promise.svg
[]: https://www.npmjs.com/package/sleep-promise
[]: https://img.shields.io/npm/dm/sleep-promise.svg
[]: https://www.npmjs.com/package/sleep-promise
[]: https://img.shields.io/circleci/project/github/brummelte/sleep-promise/master.svg
[]: https://circleci.com/gh/brummelte/sleep-promise
[]: https://img.shields.io/coveralls/github/brummelte/sleep-promise/master.svg
[]: https://coveralls.io/github/brummelte/sleep-promise?branch=master