Sobes.tech
Middle

Mis vahe on Promise.all ja Promise.any vahel?

sobes.tech AI

Vastus AI-lt

Promise.all ootab, kuni kõik iteratiivse objekti lubadused on täidetud. Kui kõik lubadused on edukalt täidetud, tagastab see lubaduse, mis lahendatakse tulemuste massiiviga samas järjekorras nagu sisendlubadused. Kui vähemalt üks lubadus lükatakse tagasi, tagastab see lubaduse, mis lükatakse tagasi vea esimese tagasi lükatud lubaduse puhul.

Promise.any ootab, kuni ükskõik lubadus on täidetud. Kui ükskõik milline lubadus on edukalt täidetud, tagastab see lubaduse, mis lahendatakse selle lubaduse väärtusega. Kui kõik lubadused lükatakse tagasi, tagastab see lubaduse, mis lükatakse tagasi AggregateError-iga, mis sisaldab kõigi tagasi lükatud lubaduste vigu.

Võrdlus:

Kriteerium Promise.all Promise.any
Edu tingimus Kõik lubadused on edukalt täidetud Iga lubadus on edukalt täidetud
Vea tingimus Iga lubadus lükatakse tagasi Kõik lubadused lükatakse tagasi
Edu tulemus Tulemuste massiiv (samamoodi nagu sisendlubadused) Esimese edukalt täidetud lubaduse väärtus
Vea tulemus Esimese tagasi lükatud lubaduse viga AggregateError koos kõigi tagasi lükatud lubaduste vigadega
Kasutus Sõltuvus kõigist asünkroonsetest operatsioonidest Sõltuvus ükskõik millisest asünkroonsest operatsioonist