@monstermann/fn
Version:
A utility library for TypeScript.
21 lines (20 loc) • 433 B
JavaScript
//#region src/promise/defer.ts
/**
* `defer()`
*
* Creates a promise that can be resolved/rejected from the outside.
*
* ```ts
* const deferred = defer<string>();
* setTimeout(() => deferred.resolve("completed"), 1000);
*/
function defer() {
const deferred = {};
deferred.promise = new Promise((resolve, reject) => {
deferred.resolve = resolve;
deferred.reject = reject;
});
return deferred;
}
//#endregion
export { defer };