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

__type.data


onEarlyFinalize

onEarlyFinalize: OnEarlyFinalize<T>[]

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

callbacks to be invoked whenever PromisE instance is finalized early using non-static resolve()/reject() methods

Implementation of

IPromisE_Delay.onEarlyFinalize

Inherited from

PromisEBase.onEarlyFinalize


onFinalize

onFinalize: OnFinalize<T>[]

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

Implementation of

IPromisE_Delay.onFinalize

Inherited from

PromisEBase.onFinalize


options

readonly options: TimeoutOptions

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


started

readonly started: Date

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


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

__type.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:83

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:88

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:93

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


state

Get Signature

get state(): 0 | 1 | 2

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

Get promise status code:

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

0 | 1 | 2

0: pending, 1: resolved, 2: rejected

Implementation of

IPromisE_Timeout.state

Inherited from

PromisEBase.state


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

__type.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?

The callback to execute when the Promise is rejected.

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

Returns

Promise<T | TResult>

A Promise for the completion of the callback.

Implementation of

TimeoutPromise.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

__type.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?

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

() => void | null

Returns

Promise<T>

A Promise for the completion of the callback.

Implementation of

TimeoutPromise.finally

Inherited from

PromisEBase.finally


reject()

reject(reason): void

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

Reject pending promise early.

Parameters

reason

unknown

Returns

void

Implementation of

IPromisE_Delay.reject

Inherited from

PromisEBase.reject


resolve()

resolve(value): void

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

Resovle pending promise early.

Parameters

value

T | PromiseLike<T>

Returns

void

Implementation of

IPromisE_Delay.resolve

Inherited from

PromisEBase.resolve


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?

The callback to execute when the Promise is resolved.

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

onrejected?

The callback to execute when the Promise is rejected.

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

Returns

Promise<TResult1 | TResult2>

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

Implementation of

TimeoutPromise.then

Inherited from

PromisEBase.then


all()

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

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

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

Type Parameters

T

T extends unknown[]

Parameters

values

T

Returns

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

Inherited from

PromisEBase.all


allSettled()

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

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

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

Type Parameters

T

T extends unknown[]

Parameters

values

T

Returns

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

Inherited from

PromisEBase.allSettled


any()

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

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

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

Type Parameters

T

T extends unknown[]

Parameters

values

T

Returns

IPromisE<Awaited<T[number]>>

Inherited from

PromisEBase.any


race()

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

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

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

Type Parameters

T

T extends unknown[]

Parameters

values

T

Returns

IPromisE<Awaited<T[number]>>

Inherited from

PromisEBase.race


reject()

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

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

Extends Promise.reject

Type Parameters

T

T = never

Parameters

reason

unknown

Returns

PromisEBase<T>

Inherited from

PromisEBase.reject


resolve()

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

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

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

Type Parameters

T

T

Parameters

value?

T | PromiseLike<T>

Returns

IPromisE<T>

Inherited from

PromisEBase.resolve


try()

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

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

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

Type Parameters

T

T

U

U extends unknown[] = []

Parameters

callbackFn

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

args

...U

Returns

IPromisE<Awaited<T>>

Inherited from

PromisEBase.try


withResolvers()

static withResolvers<T>(): object

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

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: IPromisE<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