io-async
v0.0.4
Published
Async utility
Downloads
5
Readme
io-async
IO-async is a module to provide help with asynchronous tasks.
Usage
In node:
- Installing module npm i io-async
- then require const io = require("io-async")
delay
Resolve a Promise after a given amount of milliseconds.
import { delay } from 'io-async';
await delay(1000);
// ...
timeout
Reject after timeout.
import { timeout } from 'io-async';
// Rejecte, If fetch didn't resolve within 7 seconds...
const response = await timeout(7000, fetch('https://...'));
Deferred
Create a Promise with the reject
and resolve
functions.
import { Deferred } from 'io-async';
const p = new Deferred<number>();
// ...
p.resolve(42);
DelayAtLast
Execute in the end; after some delay...
import { DelayAtLast } from 'io-async';
const isStopedTyping = new DelayAtLast(1000, () => console.log('User Stopped typing...'));
isStopedTyping.execute(); // did nothing
isStopedTyping.execute(); // did nothing
isStopedTyping.execute(); // > User Stopped typing...
CallableAfterEvery
Make function callable after every given amount of milliseconds.
import { CallableAfterEvery , delay } from 'io-async';
const sayHelloWorld = new CallableAfterEvery(1000, () => console.log('Hello, World!'));
// Executed 1000 time/s , But `sayHelloWorld` only called 3 times...
const interval = setInterval(sayHelloWorld.execute, 1);
delay(3050).then(() => clearInterval(interval));