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 Promise
s 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:
import wait from 'async-wait-then';
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
wait(100).then(() => console.log("Just waited 😎."));
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:
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.