Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

sleep-ts

dguo13.1kMIT0.1.1TypeScript support: included

Sleep / pause execution using Promises and flexible time formats

sleep, delay, pause, promise, suspend, wait

readme

sleep-ts npm npm Build Status codecov Known Vulnerabilities

Pause JavaScript execution for a specified amount of time using Promises. Works elegantly with async/await and accepts flexible time formats like '3s' and '1h' (any string that can be parsed by the ms package). Implemented in TypeScript.

Installation

$ yarn add sleep-ts
# or
$ npm install --save sleep-ts

Usage

import {sleep} from 'sleep-ts';
// or
const sleep = require('sleep-ts').sleep;

// With async/await
(async function slowHelloWorld() {
    console.log('Hello');

    // a number argument is treated as milliseconds, so this will
    // sleep for 1 second
    await sleep(1000);

    // a string argument is parsed, so this will sleep for 2 seconds
    await sleep('2s');

    console.log('World');
})()

// With raw Promises
sleep(4000).then(() => {
    console.log('PING');

    // If you pass a second argument, the sleep Promise will
    // resolve with the given value.
    return sleep(3000, 'PONG');
}).then(response => {
    console.log(response);
});

Output:

Hello
# 3 seconds later
World
# 1 second later
PING
# 3 seconds later
PONG

Alternatives

  • If you don't care about the fancy time format parsing, you can use sleep-promise, which might save you a subdependency on the ms package.
  • Use setTimeout if you're okay with using callbacks.

Other Languages

License

MIT

changelog

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

Unreleased

0.1.1 - 2018-03-14

Fixed

  • Correctly handle ms throwing an error

0.1.0 - 2018-03-12

Added

  • Initial implementation