example.ts 490 B

12345678910111213141516171819202122
  1. import * as promiseLimit from '../'
  2. const limit = promiseLimit<string>(2)
  3. var jobs = ['a', 'b', 'c', 'd', 'e']
  4. Promise.all(jobs.map((name) => {
  5. return limit(() => job(name))
  6. })).then(results => {
  7. console.log('\nresults:', results)
  8. })
  9. function job (name): Promise<string> {
  10. var text = `job ${name}`
  11. console.log('started', text)
  12. return new Promise(function (resolve) {
  13. setTimeout(() => {
  14. console.log(' ', text, 'finished')
  15. resolve(text)
  16. }, 100)
  17. })
  18. }