JSFiddle - React, Tailwind, and code Playground
by Sergei Sokolov
JavaScript
console.clear();
const delay = _ => new Promise(rs => setTimeout(rs, 3e3));
async function notSoFast(promise) {
result = await Promise.all([ promise, delay()]);
return result[0];
}
async function runPromisesInSequence(promises) {
for (let i=0; i<promises.length; i++) {
if(i === 0) {
console.timeEnd( await promises[0]);
} else {
console.timeEnd( await notSoFast(promises[i]));
}
}
}
function makePr(label, dur) {
return new Promise(rs => {
console.log('%s started', label);
console.time(label); // начало отсчёта
setTimeout(_ => {
console.log('%s timer completed', label);
rs(label);
}, dur);
});
}
runPromisesInSequence([
makePr('r1', 1000),
makePr('r2', 5000),
makePr('r3', 0000),
]);