log async actions in order
by Vladymyr Shevchuk
JavaScript
async function triggerActions(count) {
let i = 1;
for (i; i <= count; i++) {
await processActionWrap(i);
}
}
function processAction(i, callback) {
let time = Math.floor(Math.random()*1000);
setTimeout(function() {
callback(`Processed Action ${i} in ${time}`);
}, time);
}
function processActionWrap(i) {
return new Promise((resolve, reject) => {
processAction(i, (str) => {
console.log(str);
resolve(str);
});
});
}
triggerActions(5);