Cancellable sleep function for Typescript
npm install sleep-cancel


A small, simple, promise-based, cancellable delay function for Typescript and Javascript.
``sh`
npm install sleep-cancel
`ts
import sleep from 'sleep-cancel';
(async function () {
console.log('Sleeping at', Date.now());
await sleep(2000);
console.log('Woke at', Date.now());
})();
`
`ts
import sleep, { SleepCancelled } from 'sleep-cancel';
const promise = sleep(2000);
(async function () {
console.log('Sleeping at', Date.now());
try {
await promise;
} catch (e) {
if (e instanceof SleepCancelled) {
console.log('Sleep cancelled')
} else {
throw e;
}
} finally {
console.log('Woke at', Date.now());
}
})();
promise.cancel();
`
sleep-cancel` is available under the ISC license.