Function: delayReject()
delayReject<
T>(duration,reason?):IPromisE_Delay<T>
Defined in: packages/promise/src/delayReject.ts:40
Function
PromisE.delayReject
Type Parameters
T
T = never
Parameters
duration
number
reason?
unknown
Returns
Examples
Create a promise that will rejectafter 3 seconds
javascript
import PromisE from '@superutils/promise'
const rejectPromise = PromisE.delayReject(
3000, // duration in milliseconds
new Error('App did not initialization on time'), // reason to reject with
)
await rejectPromise // throws error message after 3 seconds
codeThatWillNotExecute()Prevent automated promise rejection by forcing it to resolve before timeout
javascript
import PromisE from '@superutils/promise'
const rejectPromise = PromisE.delayReject(
3000,
new Error('App did not initialization on time'),
)
let count = 0
const appReady = () => ++count >= 2 // return true on second call
const intervalId = setInterval(() => {
if (!appReady()) return
rejectPromise.resolve('force resolves rejectPromise and execution continues')
clearInterval(intervalId)
}, 100)
await rejectPromise
console.log('App is now ready')