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;
}