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

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

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


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

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

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

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

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

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

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


reject()

reject(reason): void

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

Reject pending promise early.

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

Resovle pending promise early.

Parameters

value

T | PromiseLike<T>

Returns

void

Implementation of

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

((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): IPromisE<{ -readonly [P in string | number | symbol]: Awaited<T[P]> }>

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

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]> }>

Inherited from

PromisEBase.all


allSettled()

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

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

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

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

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

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

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

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

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