0.1.2 • Published 8 years ago

wait-then v0.1.2

Weekly downloads
198
License
ISC
Repository
github
Last release
8 years ago

wait-then

GitHub version NPM Version Coverage Status

Deps Dev Deps Peer Deps

NPM Downloads GitHub stars GitHub forks GitHub issues

Utility function that returns a promise that resolves after x ms

npm install --save wait-then

Can be awaited in async functions, or as a yieldable with co or in koa.

Basic example:

const wait = require('wait-then'),
    timeout = wait.timeout;

wait(2000).then(function() {
    console.log('This is logged after 2 seconds');
});

timeout(2000).catch(e) {
    console.log('This is logged after 2 seconds');
};

Example with Promise.race for simple timeouts:

const timeout = require('wait-then').timeout;

async function getData(key) {
    try {
        await Promise.race(dataLoader(key), timeout(1000));
    } catch (e) {
        console.error(e);
    }
}

Basic example with async function and await:

const wait = require('wait-then'),
    timeout = wait.timeout;

(async function () {
    await wait(1000);
    console.log('This is logged after 1 second');
})();

(async function () {
    try {
        await timeout(1000);
    } catch (e) {
        console.log('This is logged after 1 second');
    }
})();

Basic example with co:

const wait = require('wait-then'),
    timeout = wait.timeout,
    co = require('co');

co(function *() {
    yield wait(1000);
    console.log('This is logged after 1 second');
});

co(function *() {
    try {
        yield timeout(1000);
    } catch (e) {
        console.log('This is logged after 1 second');
    }
});

The generator function passed into co can be yielded in a middleware in koa.

Note: This relies on the existence of a global Promise object as defined in the ECMAScript 6 (Harmony) proposal.

How this differs from co-sleep and co-wait is that both of them use thunks, support for which is set to be deprecated. wait-then instead uses Promises, which are also yieldable.

0.1.2

8 years ago

0.1.1

8 years ago

0.1.0

8 years ago

0.0.4

9 years ago

0.0.3

9 years ago

0.0.1

9 years ago