Advertisement
Guest User

Untitled

a guest
May 26th, 2016
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.70 KB | None | 0 0
  1. function asyncFunc(e) {
  2. return new Promise((resolve, reject) => {
  3. setTimeout(() => resolve(e), e * 1000);
  4. });
  5. }
  6.  
  7. const arr = [1, 2, 3];
  8.  
  9. function workMyCollection(arr, results = []) {
  10. return new Promise((resolve, reject) => {
  11. if (!arr.length) {
  12. return resolve(results);
  13. }
  14.  
  15. const [element, ...rest] = arr;
  16.  
  17. console.log(`element is ${element}`);
  18.  
  19. asyncFunc(element)
  20. .then((result) => {
  21. results.push(result);
  22.  
  23. if (!rest.length) {
  24. return resolve(results);
  25. }
  26.  
  27. workMyCollection(rest, results)
  28. .then(resolve)
  29. .catch(console.error);
  30. });
  31. });
  32. }
  33.  
  34. workMyCollection(arr, [])
  35. .then(result => console.log(`FINAL RESULT is ${result}`));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement