Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function asyncFunc(e) {
- return new Promise((resolve, reject) => {
- setTimeout(() => resolve(e), e * 1000);
- });
- }
- const arr = [1, 2, 3];
- function workMyCollection(arr, results = []) {
- return new Promise((resolve, reject) => {
- if (!arr.length) {
- return resolve(results);
- }
- const [element, ...rest] = arr;
- console.log(`element is ${element}`);
- asyncFunc(element)
- .then((result) => {
- results.push(result);
- if (!rest.length) {
- return resolve(results);
- }
- workMyCollection(rest, results)
- .then(resolve)
- .catch(console.error);
- });
- });
- }
- workMyCollection(arr, [])
- .then(result => console.log(`FINAL RESULT is ${result}`));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement