Advertisement
Guest User

Untitled

a guest
Oct 15th, 2019
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.84 KB | None | 0 0
  1. const waait = i => new Promise(res => setTimeout(() => { return res(i); }, 2000));
  2.  
  3. const batchedPromiseAll = async (array) => {
  4. let requests = array.slice(0);
  5.  
  6. let results = [];
  7.  
  8. let processBatch = async (chunks, results) => {
  9. let curr;
  10. try {
  11. curr = await Promise.all(chunks.map(prop => waait(prop)));
  12. results.push(curr);
  13. console.log(curr);
  14. } catch (err) {
  15. throw err
  16. }
  17.  
  18. return curr !== undefined && requests.length
  19. ? processBatch(requests.splice(0, 5), results)
  20. : results
  21. }
  22.  
  23. const res = await processBatch(requests.splice(0, 5), results)
  24. console.log(JSON.stringify(res, null, 2));
  25. }
  26.  
  27. const app = async () => {
  28. const array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14];
  29. await batchedPromiseAll(array);
  30. }
  31.  
  32. app();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement