@stagas/deferred
v1.0.0
Published
A deferred promise utility.
Maintainers
Readme
@stagas/deferred
A deferred promise utility.
Install
npm install @stagas/deferredUsage
import { Deferred } from '@stagas/deferred'
const deferred = Deferred<string>()
deferred.promise.then(value => {
console.log(value)
})
deferred.resolve('done')Deferred<T>() returns an object with:
promise: the promise to await.resolve(value): settles the promise with a value.reject(error): rejects the promise.hasSettled:trueafter the promise settles.value: the resolved value, when resolved.error: the rejection error, when rejected.when(fn): runsfnonce when the promise settles.
Disposable Work
Use defer with explicit resource management to resolve a promise when the
disposable scope exits.
import { defer } from '@stagas/deferred'
{
using result = defer(() => 'done')
result.promise.then(value => {
console.log(value)
})
}License
MIT
