💾Promise.inSeries()
JS ⟩ async ⟩ Promise ⟩ chaining ⟩ Promise.inSeries()
💾 replit:Promise in series
// 🔸 Promise.inSeries()
Promise.inSeries = function(promises) {
// store results from promises
const results = [];
// ⭐ start with a "trivial" Promise
let p = Promise.resolve();
// ⭐ Promise chain of arbitrary length
for (const promise of promises) {
p = p.then(value => {
results.push(value); // save resolved value
return promise; // return next promise
});
}
// ⭐ return a Promise for `results`.
return p.then(value => {
results.push(value); // ⭐ save last resolved value
results.shift(); // ⭐ remove value from first "trivial" promise
return results;
});
};💈範例:
Last updated
Was this helpful?