JSFiddle - React, Tailwind, and code Playground
by yeti777937
JavaScript
let promise1 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve("1");
}, 4000)
})
let promise2 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve("2");
}, 2000)
})
let promiseArray = [promise1, promise2];
promiseAll = (promiseArray) => {
let counter = promiseArray.length;
let resultArray = [];
return new Promise((resolve, reject) => {
(promiseArray || []).forEach((item, index) => {
((index) => {
item.then((value) => {
resultArray[index] = value;
counter--;
if (!counter) {
resolve(resultArray);
}
}).catch((err) => {
console.log(err);
})
})(index)
})
})
}
promiseAll(promiseArray).then((value) => {
console.log(value);
})