2.0.0 • Published 3 years ago

race-timeout-anywhere v2.0.0

Weekly downloads
197
License
MIT
Repository
github
Last release
3 years ago

view on npm npm module downloads Gihub repo dependents Gihub package dependents Build Status js-standard-style

race-timeout-anywhere

An isomorphic, load-anywhere timeout function for use with Promise.race.

The raceTimeout function never resolves, it will only reject once the specified time period has elapsed. In the example below, fetchDataSomehow() must resolve before raceTimeout rejects after 1000ms, else a timeout exception is thrown.

import raceTimeout from 'race-timeout-anywhere'

try {
  const data = await Promise.race([
    fetchDataSomehow(),
    raceTimeout(1000)
  ])
  /* fetchDataSomehow() took less than 1000ms, process data */
} catch (err) {
  /* fetchDataSomehow() took longer than 1000ms */
}

Load anywhere

This library is compatible with Node.js, the Web and any style of module loader. It can be loaded anywhere, natively without transpilation.

CommonJS:

const raceTimeout = require('race-timeout-anywhere')

ECMAScript Module:

import raceTimeout from 'rice-timeout-anywhere'

Within a modern browser ECMAScript Module:

import raceTimeout from './node_modules/rice-timeout-anywhere/index.mjs'

© 2018-21 Lloyd Brookes \75pound@gmail.com\.

2.0.0

3 years ago

1.0.1

4 years ago

1.0.0

5 years ago

0.1.1

5 years ago

0.1.0

6 years ago