Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- console.clear();
- const loop = (arrayOfPromises, guard) => {
- if (arrayOfPromises.length && (!guard || guard(arrayOfPromises[0]))) {
- return arrayOfPromises.shift()().then(() => {
- return loop(arrayOfPromises, guard);
- })
- }
- return Promise.resolve();
- }
- const longOp = () => new Promise((resolve, reject) => {
- console.log('longOp');
- setTimeout(resolve, 200);
- });
- const ops = Array.from(Array(10)).map(() => longOp);
- loop(ops)
- .then(() => console.log('done'))
- .catch(() => console.log('whooops'))
- .finally(() => console.log('finally'))
- ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement