Skip to content

Instantly share code, notes, and snippets.

@dakk
Created December 14, 2016 16:29
Show Gist options
  • Save dakk/a36cef78ec2de6f5d02fdccf1abad6ae to your computer and use it in GitHub Desktop.
Save dakk/a36cef78ec2de6f5d02fdccf1abad6ae to your computer and use it in GitHub Desktop.
Execute a promise list, n at time
/* Execute a promise list, n at time */
Promise.prototype.allStep = (promiseList, n) => {
let promises = [];
for (let i = 0; i < promiseList.length; i+=n) {
promises.push (new Promise ((resolve, reject) => {
var p = promiseList.slice (i, i+n ? i+n <= promiseList.length : promiseList.length);
Promise.all (p).then ((r) => {
resolve (r);
});
});
}
return new Promise ((resolve, reject) => {
Promise.all (promises).then ((r) => {
var rr = []
for (let i = 0; i < r.length; i++) {
rr = rr.concat (r[i]);
}
resolve (rr);
});
});
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment