References
Promise.allSettled()
Leírás
A szabványos beépített Promise objektumot és annak API Promise.all-ját használta, amely addig vár, amíg a tömbben megadott összes ígéret megoldódik. De ez az API nem kezeli a hibákat. Amikor legalább egy hiba történik az ígéretek tömbjében, a függvény azonnal leáll, és nem várnak további eredményeket.
Szerencsére elérhető egy második API, a Promise.allSettled, amely garantálja, hogy minden ígéretet kivár, függetlenül attól, hogy az eredmény érvényes vagy hiba.
A fő különbség a Promise.all-hoz képest az, hogy minden ígéret egy sor információra oldódik fel, ahol mind az állapot (teljesült vagy elutasított), mind az érték (teljesítés esetén) vagy az ok (elutasítás esetén) elérhető.
Szintaxis
Promise.allSettled(iterable)Példa
const promise1 = Promise.resolve(3)
const promise2 = new Promise((resolve, reject) => setTimeout(reject, 100, 'foo'))
const promises = [promise1, promise2]
Promise.allSettled(promises).then((results) => results.forEach((result) => console.log(result.status)))
// "fulfilled"
// "rejected"