Skip to content

Class: TimeoutPromise<T> ​

Defined in: packages/promise/src/TimeoutPromise.ts:17

Utility class used by PromisE.timeout().

Extends ​

Type Parameters ​

T ​

T

Implements ​

Constructors ​

Constructor ​

new TimeoutPromise<T>(data, timeout, options, _signals?): TimeoutPromise<T>

Defined in: packages/promise/src/TimeoutPromise.ts:27

Parameters ​

data ​

IPromisE<T>

timeout ​

IPromisE_Delay<T>

options ​

TimeoutOptions

_signals? ​

AbortSignal[]

Returns ​

TimeoutPromise<T>

Overrides ​

PromisEBase.constructor

Properties ​

[toStringTag] ​

readonly [toStringTag]: string

Defined in: node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts:176

Implementation of ​

IPromisE_Timeout.[toStringTag]

Inherited from ​

PromisEBase.[toStringTag]


data ​

readonly data: IPromisE<T>

Defined in: packages/promise/src/TimeoutPromise.ts:21

The underlying data promise. If multiple promises were passed to timeout, this represents the combined result (defaulting to PromisE.all).

Implementation of ​

IPromisE_Timeout.data


onEarlyFinalize ​

onEarlyFinalize: OnEarlyFinalize<T>[]

Defined in: packages/promise/src/PromisEBase.ts:10

Callbacks to be invoked whenever promise is finalized externally using resolve()/reject() methods

Implementation of ​

IPromisE_Timeout.onEarlyFinalize

Inherited from ​

PromisEBase.onEarlyFinalize


onFinalize ​

onFinalize: OnFinalize<T>[]

Defined in: packages/promise/src/PromisEBase.ts:13

Callback to be invoked after promise is resolved or rejected

Implementation of ​

IPromisE_Timeout.onFinalize

Inherited from ​

PromisEBase.onFinalize


options ​

readonly options: TimeoutOptions

Defined in: packages/promise/src/TimeoutPromise.ts:22


reject ​

reject: (reason) => void

Defined in: packages/promise/src/PromisEBase.ts:16

Early finalize by force rejecting a pending promise

Parameters ​

reason ​

unknown

Returns ​

void

Implementation of ​

IPromisE_Timeout.reject

Inherited from ​

PromisEBase.reject


resolve ​

resolve: (value) => void

Defined in: packages/promise/src/PromisEBase.ts:19

Early finalize by force resolving a pending promise

Parameters ​

value ​

T | PromiseLike<T>

Returns ​

void

Implementation of ​

IPromisE_Timeout.resolve

Inherited from ​

PromisEBase.resolve


started ​

readonly started: Date

Defined in: packages/promise/src/TimeoutPromise.ts:24


state ​

readonly state: 0 | 1 | 2 = 0

Defined in: packages/promise/src/PromisEBase.ts:28

Get promise status code:

  • 0 = pending
  • 1 = resolved
  • 2 = rejected

Implementation of ​

IPromisE_Timeout.state

Inherited from ​

PromisEBase.state


timeout ​

readonly timeout: IPromisE_Delay<T>

Defined in: packages/promise/src/TimeoutPromise.ts:23

The internal promise that handles the timeout logic. It rejects when the duration expires.

Implementation of ​

IPromisE_Timeout.timeout


[species] ​

readonly static [species]: PromiseConstructor

Defined in: node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts:180

Inherited from ​

PromisEBase.[species]

Accessors ​

abortCtrl ​

Get Signature ​

get abortCtrl(): AbortController | undefined

Defined in: packages/promise/src/TimeoutPromise.ts:41

Returns ​

AbortController | undefined

Implementation of ​

IPromisE_Timeout.abortCtrl


aborted ​

Get Signature ​

get aborted(): boolean

Defined in: packages/promise/src/TimeoutPromise.ts:45

Read-only property indicating if the promise rejected because of external abort.

Returns ​

boolean

Implementation of ​

IPromisE_Timeout.aborted


pending ​

Get Signature ​

get pending(): boolean

Defined in: packages/promise/src/PromisEBase.ts:124

Indicates if the promise is still pending/unfinalized

Returns ​

boolean

Indicates if the promise is still pending/unfinalized

Implementation of ​

IPromisE_Timeout.pending

Inherited from ​

PromisEBase.pending


rejected ​

Get Signature ​

get rejected(): boolean

Defined in: packages/promise/src/PromisEBase.ts:129

Indicates if the promise has been rejected

Returns ​

boolean

Indicates if the promise has been rejected

Implementation of ​

IPromisE_Timeout.rejected

Inherited from ​

PromisEBase.rejected


resolved ​

Get Signature ​

get resolved(): boolean

Defined in: packages/promise/src/PromisEBase.ts:134

Indicates if the promise has been resolved

Returns ​

boolean

Indicates if the promise has been resolved

Implementation of ​

IPromisE_Timeout.resolved

Inherited from ​

PromisEBase.resolved


timedout ​

Get Signature ​

get timedout(): boolean

Defined in: packages/promise/src/TimeoutPromise.ts:66

Read-only property indicating if the promise timed out. Equivalent to checking promise.timeout.rejected.

Returns ​

boolean

Implementation of ​

IPromisE_Timeout.timedout

Methods ​

cancelAbort() ​

cancelAbort(): void

Defined in: packages/promise/src/TimeoutPromise.ts:53

Removes abortCtrl/signal listeners, effectively disabling external cancellation via AbortController.

Returns ​

void

Implementation of ​

IPromisE_Timeout.cancelAbort


catch() ​

catch<TResult>(onrejected?): Promise<T | TResult>

Defined in: node_modules/typescript/lib/lib.es5.d.ts:1564

Attaches a callback for only the rejection of the Promise.

Type Parameters ​

TResult ​

TResult = never

Parameters ​

onrejected? ​

((reason) => TResult | PromiseLike<TResult>) | null

The callback to execute when the Promise is rejected.

Returns ​

Promise<T | TResult>

A Promise for the completion of the callback.

Implementation of ​

IPromisE_Timeout.catch

Inherited from ​

PromisEBase.catch


clearTimeout() ​

clearTimeout(): void

Defined in: packages/promise/src/TimeoutPromise.ts:62

Clears the timeout timer, preventing the promise from being rejected due to a timeout.

Returns ​

void

Implementation of ​

IPromisE_Timeout.clearTimeout


finally() ​

finally(onfinally?): Promise<T>

Defined in: node_modules/typescript/lib/lib.es2018.promise.d.ts:29

Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The resolved value cannot be modified from the callback.

Parameters ​

onfinally? ​

(() => void) | null

The callback to execute when the Promise is settled (fulfilled or rejected).

Returns ​

Promise<T>

A Promise for the completion of the callback.

Implementation of ​

IPromisE_Timeout.finally

Inherited from ​

PromisEBase.finally


then() ​

then<TResult1, TResult2>(onfulfilled?, onrejected?): Promise<TResult1 | TResult2>

Defined in: node_modules/typescript/lib/lib.es5.d.ts:1557

Attaches callbacks for the resolution and/or rejection of the Promise.

Type Parameters ​

TResult1 ​

TResult1 = T

TResult2 ​

TResult2 = never

Parameters ​

onfulfilled? ​

((value) => TResult1 | PromiseLike<TResult1>) | null

The callback to execute when the Promise is resolved.

onrejected? ​

((reason) => TResult2 | PromiseLike<TResult2>) | null

The callback to execute when the Promise is rejected.

Returns ​

Promise<TResult1 | TResult2>

A Promise for the completion of which ever callback is executed.

Implementation of ​

IPromisE_Timeout.then

Inherited from ​

PromisEBase.then


all() ​

static all<T>(values): PromisEBase<{ -readonly [P in string | number | symbol]: Awaited<T[P]> }>

Defined in: packages/promise/src/PromisEBase.ts:145

Sugar for new PromisE(Promise.all(...))

Type Parameters ​

T ​

T extends unknown[]

Parameters ​

values ​

T

Returns ​

PromisEBase<{ -readonly [P in string | number | symbol]: Awaited<T[P]> }>

Inherited from ​

PromisEBase.all


allSettled() ​

static allSettled<T>(values): PromisEBase<PromiseSettledResult<Awaited<T[number]>>[]>

Defined in: packages/promise/src/PromisEBase.ts:151

Sugar for new PromisE(Promise.allSettled(...))

Type Parameters ​

T ​

T extends unknown[]

Parameters ​

values ​

T

Returns ​

PromisEBase<PromiseSettledResult<Awaited<T[number]>>[]>

Inherited from ​

PromisEBase.allSettled


any() ​

static any<T>(values): PromisEBase<Awaited<T[number]>>

Defined in: packages/promise/src/PromisEBase.ts:157

Sugar for new PromisE(Promise.any(...))

Type Parameters ​

T ​

T extends unknown[]

Parameters ​

values ​

T

Returns ​

PromisEBase<Awaited<T[number]>>

Inherited from ​

PromisEBase.any


race() ​

static race<T>(values): PromisEBase<Awaited<T[number]>>

Defined in: packages/promise/src/PromisEBase.ts:161

Sugar for new PromisE(Promise.race(..))

Type Parameters ​

T ​

T extends unknown[]

Parameters ​

values ​

T

Returns ​

PromisEBase<Awaited<T[number]>>

Inherited from ​

PromisEBase.race


reject() ​

static reject<T>(reason): PromisEBase<T>

Defined in: packages/promise/src/PromisEBase.ts:165

Extends Promise.reject

Type Parameters ​

T ​

T = never

Parameters ​

reason ​

unknown

Returns ​

PromisEBase<T>

Inherited from ​

PromisEBase.reject


resolve() ​

static resolve<T>(value?): PromisEBase<T>

Defined in: packages/promise/src/PromisEBase.ts:174

Sugar for new PromisE(Promise.resolve(...))

Type Parameters ​

T ​

T

Parameters ​

value? ​

T | PromiseLike<T>

Returns ​

PromisEBase<T>

Inherited from ​

PromisEBase.resolve


try() ​

static try<T, U>(callbackFn, ...args): PromisEBase<Awaited<T>>

Defined in: packages/promise/src/PromisEBase.ts:178

Sugar for new PromisE(Promise.try(...))

Type Parameters ​

T ​

T

U ​

U extends unknown[] = []

Parameters ​

callbackFn ​

(...args) => T | PromiseLike<T>

args ​

...U

Returns ​

PromisEBase<Awaited<T>>

Inherited from ​

PromisEBase.try


withResolvers() ​

static withResolvers<T>(): object

Defined in: packages/promise/src/PromisEBase.ts:217

Creates a PromisE instance and returns it in an object, along with its resolve and reject functions.

NB: this function is technically no longer needed because the PromisE class already comes with the resolvers.


Type Parameters ​

T ​

T = unknown

Returns ​

object

promise ​

promise: PromisEBase<T>

reject ​

reject: (reason) => void = promise.reject

Parameters ​
reason ​

unknown

Returns ​

void

resolve ​

resolve: (value) => void = promise.resolve

Parameters ​
value ​

T | PromiseLike<T>

Returns ​

void

Examples ​

Using PromisE directly: simply provide an empty function as the executor

typescript
import PromisE from '@superutils/promise'
const promisE = new PromisE<number>(() => {})
setTimeout(() => promisE.resolve(1), 1000)
promisE.then(console.log)

Using withResolvers

typescript
import PromisE from '@superutils/promise'
const pwr = PromisE.withResolvers<number>()
setTimeout(() => pwr.resolve(1), 1000)
pwr.promise.then(console.log)

Inherited from ​

PromisEBase.withResolvers