Skip to content

JavaScript Promise Ma'lumotnomasi

Ushbu sahifa JavaScript promislar uchun to'liq ma'lumotnoma hisoblanadi. Undan promis metodlari va keng tarqalgan andozalarni izlashda foydalaning.


Promise Obyekti

Promise obyekti asinxron amalning yakunlanishi yoki muvaffaqiyatsizligini ifodalaydi. U har doim 3 ta holatdan birida bo'ladi:

  • Pending: Boshlang'ich holat.
  • Fulfilled: Amal muvaffaqiyatli yakunlandi.
  • Rejected: Amalda xatolik yuz berdi.

Obyekt Metodlari (Instance Methods)

MetodTavsifi
.then(onFulfilled, onRejected)Promise muvaffaqiyatli bo'lganda (yoki xato bo'lganda) bajariladigan funksiyalarni belgilaydi.
.catch(onRejected)Promise xato bilan yakunlanganda bajariladigan funksiyani belgilaydi.
.finally(onFinally)Promise natijasidan qat'iy nazar (muvaffaqiyat yoki xato) oxirida bajariladigan funksiyani belgilaydi.

Statik Metodlar (Static Methods)

MetodTavsifi
Promise.all(iterable)Barcha promislar muvaffaqiyatli bo'lsagina natija qaytaradi.
Promise.allSettled(iterable)Barcha promislar tugashini kutadi (natija muvaffaqiyat yoki xatoligidan qat'iy nazar).
Promise.any(iterable)Birinchi muvaffaqiyatli bo'lgan promis natijasini qaytaradi.
Promise.race(iterable)Qaysi promis birinchi bo'lib tugasa (win), o'shani qaytaradi.
Promise.reject(reason)Berilgan sabab bilan rad etilgan (rejected) Promise qaytaradi.
Promise.resolve(value)Berilgan qiymat bilan muvaffaqiyatli (resolved) Promise qaytaradi.
Promise.withResolvers()Yangi Promise va uni boshqarish uchun resolve, reject funksiyalarini obyekt ko'rinishida qaytaradi.

Misollar

.then() va .catch() bilan ishlash

js
myPromise
  .then((value) => console.log('Natija: ' + value))
  .catch((error) => console.log('Xato: ' + error))

Promise.all() - Bir vaqtda bir nechtasini kutish

js
Promise.all([p1, p2, p3]).then((values) => {
  console.log('Hammasi tayyor:', values)
})

Promise.withResolvers() - Tashqaridan boshqarish

js
const { promise, resolve, reject } = Promise.withResolvers()

// 1 soniyadan keyin promisni hal qilamiz
setTimeout(() => resolve('Tayyor!'), 1000)

promise.then((val) => console.log(val))

Tavsiya

Agar siz promisni boshidan o'rganmoqchi bo'lsangiz, JavaScript Promislar darsini o'qing.