Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- timed = async i => new Promise(resolve => {
- console.log(`starting ${i}`)
- setTimeout(() => {
- resolve('done!');
- console.log('yo', i)
- }, Math.random() * 5000)
- });
- parallel = async count => {
- timers = [], msgs = [], indeces = [], start = count;
- while (--count > 0) {
- indeces.push(start - count);
- timers.push(timed);
- }
- indeces = indeces.reverse()
- console.log('indeces', indeces.reverse())
- const promises = timers.map((timed, i) => timed(indeces[i]))
- Promise.all(promises).then(val => console.log(val))
- }
- parallel(5);
Add Comment
Please, Sign In to add comment