This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function sleep(ms) { | |
return new Promise(resolve => setTimeout(resolve, ms)); | |
}; | |
async function sequence() { | |
let chkJobs = []; | |
for (let i = 1, max = 10; i < max; i++) { | |
let intRand = Math.floor((Math.random() * 5) + 1) * 1000; | |
await sleep(intRand); | |
console.log('[sequence] %s,delay %sms', i, intRand); | |
} | |
console.log('AllDone'); | |
} | |
sequence(); | |
// === Result === | |
// [sequence] 1,delay 4000ms | |
// [sequence] 2,delay 1000ms | |
// [sequence] 3,delay 5000ms | |
// [sequence] 4,delay 5000ms | |
// [sequence] 5,delay 3000ms | |
// [sequence] 6,delay 3000ms | |
// [sequence] 7,delay 4000ms | |
// [sequence] 8,delay 4000ms | |
// [sequence] 9,delay 5000ms | |
// AllDone | |
// [Finished in 34.3s] | |
// === Result === |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function sleep(ms) { | |
return new Promise(resolve => setTimeout(resolve, ms)); | |
}; | |
function parallel() { | |
let chkJobs = []; | |
for (let i = 1, max = 10; i < max; i++) { | |
let intRand = Math.floor((Math.random() * 10) + 1) * 1000; | |
chkJobs.push(new Promise(async(resolve, reject) => { | |
await sleep(intRand); | |
console.log('[parallel] %s,delay %sms', i, intRand); | |
resolve(i); | |
})); | |
} | |
Promise.all(chkJobs).then(values => { | |
console.log('[parallel] AllDone'); | |
}); | |
} | |
parallel(); | |
// === Result === | |
// [parallel] 2,delay 1000ms | |
// [parallel] 6,delay 2000ms | |
// [parallel] 4,delay 3000ms | |
// [parallel] 1,delay 4000ms | |
// [parallel] 7,delay 5000ms | |
// [parallel] 8,delay 7000ms | |
// [parallel] 3,delay 8000ms | |
// [parallel] 5,delay 8000ms | |
// [parallel] 9,delay 8000ms | |
// [parallel] AllDone | |
// [Finished in 8.2s] | |
// === Result === |