ازاى استنى اكتر من promise فى نفس الوقت؟
لو عندى اكتر من asynchronous task ومش عايز استنى لما واحد واحد يخلص مثلا:
function testFunction (){
 const promise1 = /* some async task*/
 const promise2 = /* some async task*/
 const promise3 = /* some async task*/
 return;
}
ازاى اخلى كل الtasks تشتغل فى نفس الوقت والfunction متنتهيش غير لما يخلصّو كلهم.

شكرا
1 إجابة
استخدم Promise.all زي كده:
async function testFunction (){
 const promise1 = /* some async task*/
 const promise2 = /* some async task*/
 const promise3 = /* some async task*/
 const promises = [promise1, promise2, promise3];
 await Promise.all(promises);
 return;
}
كده كل الpromises هـ run in parallel يعني هيتنفذوا فى نفس الوقت و Promise.all مش هـ resolve إلا لما كل الpromises اللى فى الarray يخلصّو.
لاحظ انى ضفت async فى الdefinition بتاع الfunction وضفت await قبل Promise.all.