راهنمایی: Promise.all صبر میکنه تا همه Promiseها تموم بشن، بعد نتایج رو بده.
همچنین اگه یکی fail شد، کل کار fail میشه.
پاسخ:
function myPromiseAll(promises) {
return new Promise((resolve, reject) => {
const results = [];
let completed = 0;
promises.forEach((p, index) => {
Promise.resolve(p)
.then((value) => {
results[index] = value;
completed++;
if (completed === promises.length) {
resolve(results);
}
})
.catch(reject);
});
});
}
@Mern_stack_01