0.1.2 • Published 10 years ago

wait-then v0.1.2

Weekly downloads
198
License
ISC
Repository
github
Last release
10 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

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago

0.0.4

11 years ago

0.0.3

11 years ago

0.0.1

11 years ago