DEV Community

Discussion on: How to use async/await inside loops in JavaScript

Collapse
 
yathink3 profile image
yathink3

i think best way to achieve this making prototype function and then good to go

Array.prototype.forAsyncSerial = async function (fn = null) {
let result = [];
for (let i = 0; i < this.length; i++) {
if (typeof fn !== 'function') result[i] = await this[i];
else result[i] = await fn(this[i], i);
}
return result;
};

Array.prototype.forAsyncParallel = async function (fn = null) {
if (typeof fn !== 'function') return await Promise.all(this);
else return await Promise.all(this.map(fn));
};