JavaScript promises asinxron operatsiyalarni boshqarishning qulay usullaridan biri hisoblanadi. promises kelajakda bajarilishi yoki muvaffaqiyatsiz tugashi mumkin bo'lgan qiymatlarni ifodalaydi. Ular asinxron operatsiyalarning natijalarini boshqarish uchun ishlatiladi va callback funksiyalar bilan bog'liq muammolarni kamaytiradi.
promis table
promises yaratish
JavaScript-da promis yaratish uchun Promise konstruktoridan foydalaniladi.
let myPromise = new Promise((resolve, reject) => {
let success = true; // Bu yerda sizning asinxron operatsiyangiz bo'lishi mumkin
if (success) {
resolve("Bu operatsiya muvaffaqiyatli tugadi!");
} else {
reject("Bu operatsiya muvaffaqiyatsiz tugadi.");
}
});
- resolve
- reaject
resolve va reject funksiyalari JavaScript promises asinxron operatsiyalarning natijasini boshqarish uchun ishlatiladi.
resolve
resolve funksiyasi promis muvaffaqiyatli bajarilganda chaqiriladi. Bu funksiya o'ziga argument sifatida biror qiymat oladi, va bu qiymat keyinchalik .then() metodiga uzatiladi.
let Promise = new Promise((resolve, reject) => {
let success = true; // Bu yerda sizning asinxron operatsiyangiz bo'lishi mumkin
if (success) {
resolve("Bu operatsiya muvaffaqiyatli tugadi!");
}
});
Yuqoridagi misolda, success o'zgaruvchisi true bo'lsa, resolve funksiyasi chaqiriladi va "Bu operatsiya muvaffaqiyatli tugadi!" qiymatini uzatadi.
then metodi orqali cansole.log da natijani chiqarish:
Promise.then((result) => {
console.log(result); // "Bu operatsiya muvaffaqiyatli tugadi!" ni cansole.log da chiqaradi
});
reject
reject funksiyasi promis muvaffaqiyatsiz tugaganda chaqiriladi. Bu funksiya o'ziga argument sifatida biror xatolik yoki muvaffaqiyatsizlik haqidagi ma'lumotni oladi, va bu qiymat keyinchalik .catch() metodiga uzatiladi.
let mPromise = new Promise((resolve, reject) => {
let success = false; // Bu yerda sizning asinxron operatsiyangiz bo'lishi mumkin
if (!success) {
reject("Bu operatsiya muvaffaqiyatsiz tugadi.");
}
});
Yuqoridagi misolda, success o'zgaruvchisi false bo'lsa, reject funksiyasi chaqiriladi va "Bu operatsiya muvaffaqiyatsiz tugadi." qiymatini uzatadi.
mPromise
.then((result) => {
console.log(result); // Bu yerga kirmaydi keyingi blockga o'tadi
})
.catch((error) => {
console.error(error); // "Bu operatsiya muvaffaqiyatsiz tugadi." ni cansole.logda chop etadi
});
Top comments (0)