Class: PromisEBase<T>
Defined in: packages/promise/src/PromisEBase.ts:5
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:18
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:20
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:22
Create a resolved promise with value
Parameters
value
T
Returns
PromisEBase<T>
Overrides
Promise<T>.constructor
Constructor
new PromisEBase<
T>():PromisEBase<T>
Defined in: packages/promise/src/PromisEBase.ts:35
If executor function is not provided, the promise must be resolved/rejected externally.
Returns
PromisEBase<T>
Example
// create a promise that will NEVER finalize automatically
const p = new PromisE<number>()
// 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:15
callbacks to be invoked whenever PromisE instance is finalized early using non-static resolve()/reject() methods
Implementation of
state
readonlystate:0|1|2=0
Defined in: packages/promise/src/PromisEBase.ts:9
0: pending, 1: resolved, 2: 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:72
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:77
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:82
Indicates if the promise has been resolved
Returns
boolean
Indicates if the promise has been resolved
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.
null | (reason) => TResult | PromiseLike<TResult>
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).
null | () => void
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:103
Reject pending promise early.
Parameters
reason
unknown
Returns
void
Implementation of
resolve()
resolve(
value):void
Defined in: packages/promise/src/PromisEBase.ts:93
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.
null | (value) => TResult1 | PromiseLike<TResult1>
onrejected?
The callback to execute when the Promise is rejected.
null | (reason) => TResult2 | PromiseLike<TResult2>
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:121
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:127
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:133
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:139
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):IPromisE<T>
Defined in: packages/promise/src/PromisEBase.ts:145
Extends Promise.reject
Type Parameters
T
T = never
Parameters
reason
unknown
Returns
IPromisE<T>
Overrides
Promise.reject
resolve()
staticresolve<T>(value?):IPromisE<T>
Defined in: packages/promise/src/PromisEBase.ts:152
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:158
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:199
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