Socket
Socket
Sign inDemoInstall

wait-then

Package Overview
Dependencies
0
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    wait-then

Utility function that returns a promise that resolves after x ms


Version published
Maintainers
1
Install size
8.18 kB
Created

Readme

Source

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.

Keywords

FAQs

Last updated on 26 Jul 2016

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc