After reading http://www.promisejs.org/patterns, I saw this Javascript ECMA 6.0 pattern.
function all(promises) {
    var accumulator = [];
    var ready = Promise.resolve(null);
    promises.forEach(function (promise, ndx) {
        ready = ready.then(function () {
            return promise;
        }).then(function (value) {
            accumulator[ndx] = value;
        });
    });
    return ready.then(function () { return accumulator; });
}
I am curious whether there is another way with Javascript promises to set promiseChain = promiseChain.all() to meet the objective of
resolving a long chain of promises in their original sequential order.
      I found this StackOverflow article.  http://stackoverflow.com/questions/28066429/promise-all-order-of-resolved-values
which is relevant to my question. 
      Also, could I use recursion rather than looping to allow evaluation of promises conditional on the resolution or error handling in the previous promise? Thank you.
 
    