Очередь JS
by DelphinPRO
Babel + JSX
function makeJob(time, cb){
return function(){
return new Promise(function(resolve, reject){
setTimeout(function(){
cb();
resolve();
}, time);
});
}
}
async function runAllJobs(jobs){
for (let i = 0; i < jobs.length; i++) {
await jobs[i]();
}
}
let jobs = [];
jobs.push(makeJob(1000, () => console.log('Job 1')));
jobs.push(makeJob(1000, () => console.log('Job 2')));
jobs.push(makeJob(1000, () => console.log('Job 3')));
jobs.push(makeJob(1000, () => console.log('Job 4')));
jobs.push(makeJob(1000, () => console.log('Job 5')));
runAllJobs(jobs);