JSFiddle - React, Tailwind, and code Playground
by QW01_01
JavaScript
var arr = ['a', 'b', 'c'];
function asyncForeach(arr, cb, pr, i){
i = i || 0;
if(i < arr.length){
if(pr){
return pr.then(function(){return asyncForeach(arr,cb,cb(arr[i]),++i)});
}else{
return asyncForeach(arr,cb,cb(arr[i]),++i);
}
}else{
return pr;
}
}
asyncForeach(arr, function(e){
return new Promise(function(resolve, reject) {
setTimeout(function(){
console.log(e);
resolve(e);
}, 1000);
})
}).then(function(){
console.log('finished');
})