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?
((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
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?
(() => 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
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?
((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
Inherited from
Promise.then
all()
staticall<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]> }>
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:185
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: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>>
Overrides
Promise.try
withResolvers()
staticwithResolvers<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
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