1.9 KiB
1.9 KiB
p-timeout
Timeout a promise after a specified amount of time
Install
$ npm install p-timeout
Usage
const delay = require('delay');
const pTimeout = require('p-timeout');
const delayedPromise = delay(200);
pTimeout(delayedPromise, 50).then(() => 'foo');
//=> [TimeoutError: Promise timed out after 50 milliseconds]
API
pTimeout(input, ms, [message | fallback])
Returns a decorated input
that times out after ms
time.
If you pass in a cancelable promise, specifically a promise with a .cancel()
method, that method will be called when the pTimeout
promise times out.
input
Type: Promise
Promise to decorate.
ms
Type: number
Milliseconds before timing out.
message
Type: string
Error
Default: 'Promise timed out after 50 milliseconds'
Specify a custom error message or error.
If you do a custom error, it's recommended to sub-class pTimeout.TimeoutError
.
fallback
Type: Function
Do something other than rejecting with an error on timeout.
You could for example retry:
const delay = require('delay');
const pTimeout = require('p-timeout');
const delayedPromise = () => delay(200);
pTimeout(delayedPromise(), 50, () => {
return pTimeout(delayedPromise(), 300);
});
pTimeout.TimeoutError
Exposed for instance checking and sub-classing.
Related
- delay - Delay a promise a specified amount of time
- p-min-delay - Delay a promise a minimum amount of time
- p-retry - Retry a promise-returning function
- More…
License
MIT © Sindre Sorhus