Package Exports
- time-limit-promise
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (time-limit-promise) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
time-limit-promise
Fulfill long runinng promises on timeout.
Unlike other implementations on npm it has some nice extra features:
- You can both reject and resolve promises on timeout
- You can provide custom value with which promise will be rejected or resolved on timeout
- Unrefs promise timer, so it will not block your app from exit.
- Uses
Promise
implementation of the passed promise: no external implementation dependencies, no globalPromise
dependencies
Install
npm install time-limit-promise
Usage
const timeLimit = require('time-limit-promise');
const fetch = require('node-fetch');
var fetchPromise = fetch('https://github.com/inikulin');
timeLimit(fetchPromise, 50).then(res => {
// If `fetchPromise` will be fulfilled within 50ms
// time limited promise will be fullfilled as well.
// Otherwise, it will be resolved with the `undefined` value.
});
timeLimit(fetchPromise, 50, { resolveWith: 'no content' }).then(res => {
// Same as above, but on timeout it will
// be resolved with the `no-content` value.
console.log(res); // > no-content
});
timeLimit(fetchPromise, 50, { rejectWith: new Error('timeout') }).catch(err => {
// Same as above, but on timeout it will
// be rejected with the provided error.
console.log(err.message); // > timeout
});