$ gnpm install 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 */
}
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>.
Copyright 2013 - present © cnpmjs.org | Home |