async-wait-then

1.0.3 • Public • Published

async-wait-then

a package to: wait, then do something asynchronously.

wait is yet another step in making setTimeout more efficient.

It also allow easy use of the promises while removing all the async and await and Promises in your app.

installation

To use wait, you must first install it, it available on npm.

npm

npm install async-wait-then

Import as npm module:

// Using ES6 syntax
import wait from 'async-wait-then';
 
// Using CommonJS or requireJS syntax
let wait = require('async-wait-then');

browser

<script src="https://unpkg.com/wait" type="script/javascript" />

example

To use it, you run wait with the time to wait as the only attribute

// Pass on microseconds
wait(100).then(() => console.log("Just waited 😎."));
// Pass a string as parameter
wait('1 minute').then(() => console.log("One minute done"));

api

wait(time: (String|Number)): Promise

Parameters:

  • time: Time to wait before resolving the promise. can be a string or a number. if it's a number it's parsed as micro-seconds. If a string, it's parsed according to the ms utility.

Returns:

A promise, which you can attach then() to.

Note: wait only resolves, it never rejects. In other words: it only allows .then() to be called, not .catch(), if you listen for catch, no error is likely to be thrown, so it's useless.

builds

Common builds are provided directly with the module, so if you ever wanted to require the umd build, you would do something like: require("async-wait/index.umd.js"), you can replace umd for:

  • esm
  • cjs (default)

other builds are provided (for convenience) in /dist folder.

use cases

You may use this, when triggering notifications, or just to avoid using the ol' setTimeout API. In fact, it uses it, but with a Promise wrapper.

todo

  • Use requestAnimationFrame or requestIdleCallback, this is more efficient and works when no time was provided.
  • Add tests

thanks

To: @zeit (Vercel) for the ms, which is used to transform dirty strings into micro-seconds.

donate

donate on PayPal.

Package Sidebar

Install

npm i async-wait-then

Weekly Downloads

0

Version

1.0.3

License

MIT

Unpacked Size

20.7 kB

Total Files

18

Last publish

Collaborators

  • vixalienorg