The Promise.allSettled() method returns a promise that resolves after all of the given promises have either fulfilled or rejected, with an array of objects that each describes the outcome of each promise.
1const promise1 = Promise.resolve(3);2const promise2 = new Promise((resolve, reject) => setTimeout(reject, 100, 'foo'));3const promises = [promise1, promise2];45Promise.allSettled(promises).6 then((results) => results.forEach((result) => console.log(result.status)));78// expected output:9// "fulfilled"10// "rejected"
For example, look at the dummy data given below I, want to make an API call to get the client’s details by clientId
1[2 {3 bed : 'bed name',4 clientId : '1548765'5 },6 {7 bed : 'bed name2',8 clientId : '1548766'9 }10]
For each client, I have to make an API call of getClientById and I don’t want my program to proceed further until details for all the clients is available
1// In this case what I can do is23Promise.allSettled(4 data.map(e=> {5 return CALL_API(`client/${e.clientId}` , 'get')6 })7).then(responseArr => {8 responseArr.forEach(res=>{9 console.log(res);10 // res.status & res.value11 })12})