This repo is DEPRECATED in favor of promise-controller!
controlled-promise
A Promise wrapping library for advanced control of promise lifecycle. Allows to split business logic from promise manipulation:
- automatically store
resolve/rejectfunctions for future call - return existing promise while async operation is still pending
- auto-reject after configured timeout
Installation
npm install controlled-promise --saveUsage
const ControlledPromise = require('controlled-promise');
// Create controlled promise
const controlledPromise = new ControlledPromise();
// Calls asynchronous function and returns promise.
// The `resolve / reject` functions can be called later as `controlledPromise.resolve() / controlledPromise.reject()`.
const promise = controlledPromise.call(() => someAsyncFn());
// Resolve promise later via cp.resolve()
controlledPromise.resolve();
// OR reject promise later via cp.reject()
controlledPromise.reject(error);API
ControlledPromise
Controlled Promise.
Kind: global class
- ControlledPromise
- new ControlledPromise()
- .promise ⇒
Promise - .value ⇒
* - .isPending ⇒
Boolean - .isFulfilled ⇒
Boolean - .isRejected ⇒
Boolean - .isSettled ⇒
Boolean - .isCalled ⇒
Boolean - .call(fn) ⇒
Promise - .resolve([value])
- .reject([value])
- .reset()
- .timeout(ms, [reason])
new ControlledPromise()
Creates controlled promise. In contrast to original Promise, it does not immediately call any function.
Instead it has .call() method for that and resolve / reject methods for
resolving promise.
controlledPromise.promise ⇒ Promise
Returns promise itself.
Kind: instance property of ControlledPromise
controlledPromise.value ⇒ *
Returns value with that promise was fulfilled (resolved or rejected).
Kind: instance property of ControlledPromise
controlledPromise.isPending ⇒ Boolean
Returns true if promise is pending.
Kind: instance property of ControlledPromise
controlledPromise.isFulfilled ⇒ Boolean
Returns true if promise is fulfilled.
Kind: instance property of ControlledPromise
controlledPromise.isRejected ⇒ Boolean
Returns true if promise rejected.
Kind: instance property of ControlledPromise
controlledPromise.isSettled ⇒ Boolean
Returns true if promise fulfilled or rejected.
Kind: instance property of ControlledPromise
controlledPromise.isCalled ⇒ Boolean
Returns true if promise already called via .call() method.
Kind: instance property of ControlledPromise
controlledPromise.call(fn) ⇒ Promise
This method executes fn and returns promise. While promise is pending all subsequent calls of .call(fn)
will return the same promise. To fulfill that promise you can use .resolve() / .reject() methods.
Kind: instance method of ControlledPromise
| Param | Type |
|---|---|
| fn | function |
controlledPromise.resolve([value])
Resolves pending promise with specified value.
Kind: instance method of ControlledPromise
| Param | Type |
|---|---|
| [value] | * |
controlledPromise.reject([value])
Rejects pending promise with specified value.
Kind: instance method of ControlledPromise
| Param | Type |
|---|---|
| [value] | * |
controlledPromise.reset()
Resets to initial state.
Kind: instance method of ControlledPromise
controlledPromise.timeout(ms, [reason])
Sets timeout to reject promise automatically.
Kind: instance method of ControlledPromise
| Param | Type | Description |
|---|---|---|
| ms | Number |
delay in ms after that promise will be rejected automatically |
| [reason] | String | Error | function |
rejection value. If it is string or error - promise will be rejected with that error. If it is function - this function will be called after delay where you can manually resolve or reject promise via .resolve() / .reject() methods. |
Related
License
MIT @ Vitaliy Potapov

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.

