0.0.1 • Published 6 years ago
@andimeier/promise-chain v0.0.1
Promise-chain
This lib aims to make a network of promises easily configurable. Rejection of a promise should not lead per se to an overall rejection, but you can define an "on reject" handler (another promise following in the "reject" case).
Terminology
- "chain" ... the chained promises
 - "chain item" ... one promise plus its metadata for linking it within the chain
 
Basic Usage
Include the lib in your app:
const promiseChain = require('promise-chain');You can switch on debugging output with:
const promiseChain = require('promise-chain');
promiseChain.setDeubg(true);Specifying a promise chain
A "chain item" is nothing else than a promise returning function plus a couple of properties which define the chaining behavior.
Recognized properties are:
promise... {function} the promise returning functiononResolve... {ChainItem} the next chain item to be executed on success of the current itemonReject... {ChainItem} the next chain item to be executed if the current item rejectsname...{string} an identifier string. This is used a the key for the errors objectsetError... {boolean} if set, a rejected promise will even be registered in theerrorsstructure of the result object if it has anonRejectsuccessor. If false,a rejected promise with aonRejectsuccessor will not produce an error. A rejected promise without anonRejectsetting will always produce an error. Default is false.errorKey... {string} (optional) if set then this key will be used in the errors objects. If this property is omitted, the propertynamewill be used per default. This property should help you collecting possibly many promises in the chain into one error "candidate". For example, to populate input fields in a HTML form, it helps to assign several tests for one field to the one field name. In this case, you would seterrorKeyaccording to the name of the HTML form field while leavingnameuniqu (for tracking and debugging purposes)
Returned result object:
errors... an object consisting of all error objects of the rejected promises. Key is the chain link name (propertyname) and value is the rejection value, whatever this issuccess... an array listing all resolved promises
0.0.1
6 years ago