sergey-t
11/4/2016 - 9:04 PM

sequential_iteration

let tasks = [ /* ... */ ]
let promise = Promise.resolve();
   tasks.forEach(task => {
     promise = promise.then(() => {
       return task();
}); });
   promise.then(() => {
     //All tasks completed
});
-----
let tasks = [ /* ... */ ]
   let promise = tasks.reduce((prev, task) => {
     return prev.then(() => {
       return task();
     });
   }, Promise.resolve());
   
   promise.then(() => {
     //All tasks completed
});
function chain() {
     let promise = Promise.resolve();
  
     const links = [1,2,3,4,5];
     links.forEach(item => {
       promise = promise.then(() => console.log(item));
     });
     
     return promise;
}