Class: PromisEBase<T>
Defined in: packages/promise/src/PromisEBase.ts:10
Preserved reference to original Promise class and used it internally.
This is needed to avoid unexpected errors, in case, globalThis.Promise is replaced with PromisE.
Extends
Promise<T>
Extended by
Type Parameters
T
T = unknown
Implements
IPromisE<T>
Constructors
Constructor
new PromisEBase<
T>(...args):PromisEBase<T>
Defined in: packages/promise/src/PromisEBase.ts:25
Create a PromisE instance as a drop-in replacement for Promise
Parameters
args
...[(resolve, reject) => void]
Returns
PromisEBase<T>
Overrides
Promise<T>.constructor
Constructor
new PromisEBase<
T>(promise):PromisEBase<T>
Defined in: packages/promise/src/PromisEBase.ts:27
Extend an existing Promise instance to check status or finalize early
Parameters
promise
Promise<T>
Returns
PromisEBase<T>
Overrides
Promise<T>.constructor
Constructor
new PromisEBase<
T>(value):PromisEBase<T>
Defined in: packages/promise/src/PromisEBase.ts:29
Create a resolved promise with value
Parameters
value
T
Returns
PromisEBase<T>
Overrides
Promise<T>.constructor
Constructor
new PromisEBase<
T>(value):PromisEBase<T>
Defined in: packages/promise/src/PromisEBase.ts:31
Create a promise to be resolved externally using .resolve() and .reject() methods
Parameters
value
undefined
Returns
PromisEBase<T>
Overrides
Promise<T>.constructor
Constructor
new PromisEBase<
T>():PromisEBase<T>
Defined in: packages/promise/src/PromisEBase.ts:47
If executor function is not provided, the promise must be resolved/rejected externally.
Returns
PromisEBase<T>
Example
An alternative to "Promise.withResolvers()"
import PromisE from '@superutils/promise'
// create a promise that will NEVER finalize automatically
const p = new PromisE()
// resolve it manually
setTimeout(() => p.resolve(1), 1000)
p.then(console.log)Overrides
Promise<T>.constructor
Properties
[toStringTag]
readonly[toStringTag]:string
Defined in: node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts:176
Implementation of
Inherited from
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
onFinalize
onFinalize:
OnFinalize<T>[]
Defined in: packages/promise/src/PromisEBase.ts:22
Callback to be invoked after promise is resolved or rejected
Implementation of
[species]
readonlystatic[species]:PromiseConstructor
Defined in: node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts:180
Inherited from
Promise.[species]
Accessors
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
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
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
state
Get Signature
get state():
0|1|2
Defined in: packages/promise/src/PromisEBase.ts:119
Get promise status code:
0= pending1= resolved2= rejected
Returns
0 | 1 | 2
0: pending, 1: resolved, 2: rejected
Implementation of
Methods
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
Inherited from
Promise.catch
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
Inherited from
Promise.finally
reject()
reject(
reason):void
Defined in: packages/promise/src/PromisEBase.ts:140
Reject pending promise early.
Parameters
reason
unknown
Returns
void
Implementation of
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
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
Inherited from
Promise.then
all()
staticall<T>(values):IPromisE<{ -readonly [P in string | number | symbol]: Awaited<T[P<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<P>]> }>
Overrides
Promise.all
allSettled()
staticallSettled<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]>>[]>
Overrides
Promise.allSettled
any()
staticany<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]>>
Overrides
Promise.any
race()
staticrace<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]>>
Overrides
Promise.race
reject()
staticreject<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>
Overrides
Promise.reject
resolve()
staticresolve<T>(value?):IPromisE<T>
Defined in: packages/promise/src/PromisEBase.ts:184
Sugar for new PromisE(Promise.resolve(...))
Type Parameters
T
T
Parameters
value?
T | PromiseLike<T>
Returns
IPromisE<T>
Overrides
Promise.resolve
try()
statictry<T,U>(callbackFn, ...args):IPromisE<Awaited<T>>
Defined in: packages/promise/src/PromisEBase.ts:188
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>>
Overrides
Promise.try
withResolvers()
staticwithResolvers<T>():object
Defined in: packages/promise/src/PromisEBase.ts:227
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
import PromisE from '@superutils/promise'
const promisE = new PromisE<number>(() => {})
setTimeout(() => promisE.resolve(1), 1000)
promisE.then(console.log)Using withResolvers
import PromisE from '@superutils/promise'
const pwr = PromisE.withResolvers<number>()
setTimeout(() => pwr.resolve(1), 1000)
pwr.promise.then(console.log)Overrides
Promise.withResolvers