Sobes.tech
Middle

Kuo skiriasi Promise.all nuo Promise.any?

sobes.tech AI

Atsakymas iš AI

Promise.all laukia, kol bus įvykdyti visi iteruojamo objekto pažadai. Jei visi pažadai sėkmingai įvykdomi, jis grąžina pažadą, kuris išsprendžiamas rezultatų masyvu toje pačioje tvarkoje kaip ir įvesties pažadai. Jei bent vienas pažadas atmestas, jis grąžina pažadą, kuris atmestas su klaida pirmojo atmesto pažado.

Promise.any laukia, kol bus įvykdytas bet kuris pažadas iš iteruojamo objekto. Kai tik bet kuris pažadas sėkmingai įvykdomas, jis grąžina pažadą, kuris išsprendžiamas šio pažado reikšme. Jei visi pažadai atmesti, jis grąžina pažadą, kuris atmestas su klaida AggregateError, turinčia masyvą su visų atmestų pažadų klaidomis.

Palyginimas:

Kriterijus Promise.all Promise.any
Sėkmės sąlyga Visi pažadai įvykdyti sėkmingai Bet kuris pažadas įvykdytas sėkmingai
Klaidos sąlyga Bet kuris pažadas atmestas Visi pažadai atmesti
Sėkmės rezultatas Rezultatų masyvas (tas pats kaip ir įvesties pažadai) Pirmojo sėkmingai įvykdyto pažado reikšmė
Klaidos rezultatas Pirmojo atmesto pažado klaida AggregateError su visų atmestų pažadų klaidų masyvu
Naudojimas Priklausomybė nuo visų asinchroninių operacijų Priklausomybė nuo bet kurios asinchroninės operacijos