Skip to content

Function: delay()

delay<T, TReject>(duration, result, asRejected): IPromisE_Delay<T>

Defined in: packages/promise/src/delay.ts:49

Creates a promise that completes after given delay/duration.

Also accessible from the PromisE class as PromisE.delay().

Type Parameters

T

T = number

TReject

TReject extends boolean = boolean

Parameters

duration

number = delay.defaults.duration

duration in milliseconds. Default: 100

result

(optional) specify a value to resolve or error to reject with.

Alternatively, a function (with no arguments) can be provided that returns the result.

Default: delayMs when resolved or timed out error when rejected

T | () => T

asRejected

TReject = ...

(optional) if true, will reject the promise after the delay.

Returns

IPromisE_Delay<T>

promise

Examples

typescript
import PromisE from '@superutils/promise'

// Resolves after 1 second delay
PromisE.delay(1000).then(console.log)

An awaitable setTimeout().

typescript
import PromisE from '@superutils/promise'

PromisE.delay(1000, () => console.log('Prints after 1 second delay'))
typescript
import PromisE from '@superutils/promise'

const func = async () => {
    console.log('Waiting for app initialization or something else to be ready')
    // wait 3 seconds before proceeding
    await PromisE.delay(3000)
    console.log('App ready')
}
func()