promises chain
JavaScript
/*
let action = (i) => {
return () => {
return new Promise((resolve, reject) => {
setTimeout(() => {
console.log(i);
resolve();
}, 1000);
});
}
}
let p = Promise.resolve();
let a = [1, 2, 3, 4, 5];
for (let i of a) {
p = p.then(action(i));
}
*/
let a = [1, 2, 3, 4, 5];
a.reduce(
(p, i) => p.then(
() => new Promise(
(resolve, reject) => {
setTimeout(() => {
console.log(i);
resolve();
}, 1000);
}
)
),
Promise.resolve()
);