Sobes.tech
Middle+

JavaScriptda Promise nima? Promisaning holatlari va unga ishlash usullari haqida gapiring.

sobes.tech AI

AIdan javob

JavaScript'da Promise, kelajakda muvaffaqiyatli yoki xatolik bilan yakunlanishi mumkin bo'lgan asinxron operatsiyaning natijasini ifodalovchi ob'ekt.

Promise holatlari:

  • pending (kutish holati) — boshlang'ich holat, operatsiya hali yakunlanmagan.
  • fulfilled (muvaffaqiyatli) — operatsiya muvaffaqiyatli yakunlandi, natija mavjud.
  • rejected (rad etilgan) — operatsiya xato bilan yakunlandi.

Promise bilan ishlash uchun asosiy metodlar:

  • .then(onFulfilled, onRejected) — muvaffaqiyat va xato uchun handlerlar qo'shadi.
  • .catch(onRejected) — xato uchun handler qo'shadi (teng keladi .then(null, onRejected) bilan).
  • .finally(onFinally) — Promise yakunlangach, natijadan qat'i nazar, funksiyani bajaradi.

Misol:

const promise = new Promise((resolve, reject) => {
  setTimeout(() => {
    const success = true;
    if (success) {
      resolve('Ma`lumotlar olindi');
    } else {
      reject('Xato');
    }
  }, 1000);
});

promise
  .then(result => console.log(result))
  .catch(error => console.error(error))
  .finally(() => console.log('Operatsiya yakunlandi'));