Asynchronus sleep functions with typescript support.
Install sleepjs with npm:
npm install sleepjs
Or with yarn:
yarn add sleepjs
The default function sleeps for a time given in milliseconds. But also different sleep functions can be required.
The sleep timer can be awaited with async / await.
const { sleep } = require('sleepjs')
const myFunction = async () => {
await sleep(500)
console.info('It is 500 ms later now')
}
myFunction()
The Promise returns the value of slept milliseconds when it resolves.
const { sleepMinutes } = require('sleepjs')
function myFunction () {
return sleepMinutes(5)
.then(time => {console.info(`${time} ms later`)})
}
myFunction() // Will print: '300000 ms later'
Different sleep instances can be run and awaited concurrently with Promise.all
.
const { sleep } = require('sleepjs')
async function myFunction () {
await Promise.all([sleep(100), sleep(100), sleep(200)])
}
myFunction() // Will take only slightly more than 200 ms
Sleepjs includes several functions to wrap common sleep times:
const { sleep } = require('sleepjs')
const { sleepMilliseconds } = require('sleepjs') // Same as sleep
const { sleepSeconds } = require('sleepjs')
const { sleepMinutes } = require('sleepjs')
const { sleepHours } = require('sleepjs')
const { sleepDays } = require('sleepjs')
Import with typescript is also possible.
import {
sleep,
sleepMilliseconds,
sleepSeconds,
sleepMinutes,
sleepHours,
sleepDays,
} from 'sleepjs'