According to the documentation of what I assume is the module you're using, you can do this:
deferred(delayedAdd(2, 3), delayedAdd(3, 5), delayedAdd(1, 7))(function (result) {`
console.log(result); // [5, 8, 8]`
});
E.g.:
deferred(promise1, promise2, promise3)(function (result) {
// `result` is an array of the results
});
On the link above, search for "Grouping Promises" (although it doesn't have much more than the above).
If you have an array of promises, you can use Function#apply
to do the above:
deferred.apply(undefined, theArray)(function (result) {
// `result` is an array of the results
});