io-async
TypeScript icon, indicating that this package has built-in type declarations

0.0.4 • Public • Published

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));

Readme

Keywords

Package Sidebar

Install

npm i io-async

Weekly Downloads

6

Version

0.0.4

License

MIT

Unpacked Size

6.68 kB

Total Files

14

Last publish

Collaborators

  • nur840