Sobes.tech
Junior — Middle

Promise.all yordamida bir nechta va'dalarni bir vaqtning o'zida qanday bajariladi va ularning natijalari qanday ishlanadi?

sobes.tech AI

AIdan javob

Promise.all bir nechta vaadlarni parallel ravishda ishga tushirish va ularning hammasi yakunlanishini kutish imkonini beradi. U vaadlar massivini qabul qiladi va yangi vaadni qaytaradi:

  • Agar barcha vaadlar muvaffaqiyatli yakunlansa, muvaffaqiyatli bajariladi. Bu holda, natija har bir vaadga mos keladigan qiymatlarning massividir, ularni bir xil tartibda saqlaydi.
  • Agar kamida bitta vaad rad etilsa, birinchi rad etilgan vaadning xatosini qaytaradi va rad etiladi.

Foydalanish misoli:

const promise1 = Promise.resolve(1);
const promise2 = Promise.resolve(2);
const promise3 = Promise.resolve(3);

Promise.all([promise1, promise2, promise3])
  .then(results => {
    console.log(results); // [1, 2, 3]
  })
  .catch(error => {
    console.error('Bir vaad rad etildi:', error);
  });

Shu tarzda, Promise.all bir nechta asinxron operatsiyalarni bir vaqtning o'zida bajarish va ularning natijalarini barcha yakunlangandan so'ng ishlash uchun qulaydir.