Promise ma’lumotnomasi
JavaScript Promise obyekti asinxron operatsiyaning yakuniy tugallanishi yoki bajarilmasligini ifodalaydi.
Ushbu sahifada Promise konstruktori, misol usullari va statik usullar hujjatlashtirilgan.
Promise’larni bosqichma-bosqich o‘rganish uchun JavaScript Promise’lari darsini o‘qing.
Promise haqida umumiy ma’lumot
| Turi | Members |
|---|---|
| Constructor | new Promise() |
| Instance methods |
then(),
catch(),
finally()
|
| Statik usullar |
Promise.resolve(),
Promise.reject(),
Promise.all(),
Promise.allSettled(),
Promise.any(),
Promise.race(),
Promise.withResolvers()
|
Promise holatlari
Promise har doim uchta holatdan birida bo‘ladi.
| State | Tavsif |
|---|---|
| Pending | Operatsiya tugallanmagan. |
| Fulfilled | Amal muvaffaqiyatli yakunlandi. |
| Rejected | Amal muvaffaqiyatsiz tugadi. |
Promise bajarilganda yoki rad etilganda bajariladi.
Promise faqat bir marta bajarilishi mumkin.
Promise obyekti metodlari
Qayta ko‘rib chiqilgan: 2025-yil dekabr
Nusxa metodlari
| Metod | Tavsif |
|---|---|
| .catch(onRejected) | Promise rad etilganda ishlash uchun funksiyani taqdim etadi |
| .finally(onFinally) | Promise bajarilganda yoki rad etilganda ishlash uchun funksiyani taqdim etadi |
| .then(onFulfilled, onRejected) | Bajarilgan va rad etilganlar uchun bitta callback funksiyasini taqdim etadi |
Statik usullar
| Metod | Tavsif |
|---|---|
| Promise.all() | Barcha Promiselar bajarilganda Promiselar ro‘yxatidan bitta Promise qaytaradi |
| Promise.allSettled() | Barcha Promiselar bajarilganda Promiselar ro‘yxatidan bitta Promise qaytaradi |
| Promise.any() | Har qanday Promise bajarilganda Promiselar ro‘yxatidan bitta Promise qaytaradi |
| Promise.race() | Tezroq Promise bajarilganda Promiselar ro‘yxatidan bitta Promise qaytaradi |
| Promise.reject() | Berilgan qiymat bilan rad etilgan Promise-ni qaytaradi |
| Promise.resolve() | Berilgan qiymat bilan hal qilingan Promise-ni qaytaradi |
| Promise.then() | Ikkita callback-ni ta’minlaydi: Promise bajarilganda ishga tushadigan bitta funksiya. Promise rad etilganda ishga tushadigan bitta funksiya. |
| Promise.try() | Funksiyani bajaradi va uning natijasini Promise bilan o‘radi. |
| Promise.withResolvers() | Yangi Promise obyekti va uni hal qilish yoki rad etish uchun ikkita funksiyadan iborat obyektni qaytaradi. |
Promise konstruktori
Promise() konstruktori yangi Promise obyektini yaratadi.
Sintaksis
new Promise(executor)
Parametrlar
| Parametr | Tavsif |
|---|---|
executor |
Ikki funksiyani qabul qiluvchi funksiya: resolve va reject. |
Qaytish qiymati
Yangi Promise obyekti.
Misol
const promise = new Promise(function(resolve, reject) {
const success = true;
if (success) {
resolve("Done");
} else {
reject("Failed");
}
});
promise
.then(function(value) {
myDisplayer(value);
})
.catch(function(error) {
myDisplayer(error);
});
Promise nusxa metodlari
| Metod | Tavsif |
|---|---|
then() |
Bajarilish (fulfillment) va rad etilish (rejection) ishlovchilarini ro‘yxatdan o‘tkazadi. |
catch() |
Rad etilish ishlovchisini ro‘yxatdan o‘tkazadi. |
finally() |
Promise bajarilganda ishlaydigan ishlov beruvchini ro‘yxatdan o‘tkazadi. |
Promise then() metodi
then() metodi Promise natijasini qayta ishlash uchun funksiyalarni ro‘yxatdan o‘tkazadi.
Usul darhol chaqiriladi va yangi Promise-ni qaytaradi.
Ro‘yxatdan o‘tkazilgan ishlovchi asl Promise yakunlangandan (settle) so‘ng asinxron ravishda ishga tushadi.
Sintaksis
promise.then(onFulfilled)
promise.then(onFulfilled, onRejected)
Parametrlar
| Parametr | Tavsif |
|---|---|
onFulfilled |
Ixtiyoriy. Bajarish qiymati bilan chaqirilgan funksiya. |
onRejected |
Ixtiyoriy. Rad etish sababi bilan chaqirilgan funksiya. |
Qaytish qiymati
Yangi Promise.
Misol
const promise1 = Promise.resolve("Hello");
const promise2 = promise1.then(function(value) {
return value + " World";
});
promise2.then(function(value) {
myDisplayer(value);
});
promise1 va promise2 — turli Promise obyektlari.
Promise catch() metodi
catch() metodi rad etilgan Promise’ni qayta ishlash uchun funksiyani ro‘yxatdan o‘tkazadi.
U yangi Promise qaytaradi.
Sintaksis
promise.catch(onRejected)
Parametrlar
| Parametr | Tavsif |
|---|---|
onRejected |
Rad etilish sababi bilan chaqiriladigan funksiya. |
Qaytish qiymati
Yangi Promise.
Misol
const promise = Promise.reject("Something went wrong");
promise.catch(function(error) {
myDisplayer(error);
});
catch(onRejected) works like then(undefined, onRejected).
Promise finally() metodi
finally() usuli Promise bajarilganda ishlaydigan funksiyani qayd qiladi.
Ishlovchi Promise bajarilganmi yoki rad etilganmi ishlaydi.
U hech qanday argument qabul qilmaydi.
Sintaksis
promise.finally(onFinally)
Parametrlar
| Parametr | Tavsif |
|---|---|
onFinally |
Promise yakunlanganda chaqiriladigan funksiya. |
Qaytish qiymati
Yangi Promise.
Misol
Promise.resolve("Done")
.then(function(value) {
myDisplayer(value);
})
.finally(function() {
console.log("Promise settled");
});
Promise statik metodlari
| Metod | Qachon yakunlanadi |
|---|---|
Promise.resolve() |
Qiymat bilan hal qilingan Promise-ni yaratadi yoki qaytaradi. |
Promise.reject() |
Berilgan sabab bilan rad etilgan Promise yaratadi. |
Promise.all() |
Barcha kiruvchi Promise’lar bajarilganda yoki bittasi rad etilganda. |
Promise.allSettled() |
Barcha kiruvchi Promise’lar yakunlanganda. |
Promise.any() |
Kiruvchi Promise’lardan biri bajarilganda yoki hammasi rad etilganda. |
Promise.race() |
Birinchi kiruvchi Promise yakunlanganda. |
Promise.withResolvers() |
Ochiq hal qilish va rad etish funksiyalari bilan Promise yaratadi. |
Promise.resolve()
Promise.resolve() usuli qiymat bilan hal qilingan Promise-ni qaytaradi.
Sintaksis
Promise.resolve(value)
Qaytish qiymati
Belgilangan qiymat bilan hal qilingan Promise.
Misol
const promise = Promise.resolve("Resolved OK");
promise.then(function(value) {
myDisplayer(value);
});
Promise.reject()
Promise.reject() usuli sabab bilan rad etilgan Promise-ni qaytaradi.
Sintaksis
Promise.reject(reason)
Qaytish qiymati
Rad etilgan Promise.
Misol
const promise = Promise.reject("Something went wrong");
promise.catch(function(error) {
myDisplayer(error);
});
Promise.all()
Promise.all() usuli barcha kiritilgan Promiselarning bajarilishini kutadi.
Promises kiritishlardan biri rad etilganda, u rad etadi.
Sintaksis
Promise.all(iterable)
Qaytish qiymati
Barcha kiritilgan Promiselar bajarilganda, qiymatlar Array bilan bajarilgan Promise.
Misol
const p1 = Promise.resolve("A");
const p2 = Promise.resolve("B");
Promise.all([p1, p2])
.then(function(values) {
myDisplayer(values);
});
Promise.allSettled()
Promise.allSettled() usuli barcha kiritilgan Promiselarning bajarilishini kutadi.
U bajarilgan va rad etilgan Promiselar haqidagi ma’lumotlarni qaytaradi.
Sintaksis
Promise.allSettled(iterable)
Qaytish qiymati
Natija obyektlari massivi bilan bajarilgan Promise.
Har bir natija status xususiyatiga va value yoki reason xususiyatiga ega.
Misol
const p1 = Promise.resolve("A");
const p2 = Promise.reject("X");
Promise.allSettled([p1, p2])
.then(function(results) {
myDisplayer(JSON.stringify(results));
});
Brauzerlarda qo‘llab-quvvatlash
Promise.allSettled() — ES2020 imkoniyati.
ES2020 2020-yil sentabr oyidan boshlab barcha zamonaviy brauzerlarda to‘liq quvvatlanadi:
| Chrome 85 |
Edge 85 |
Firefox 79 |
Safari 14 |
Opera 71 |
| Aug 2020 | Aug 2020 | Mar 2020 | Sep 2020 | Sep 2020 |
Promise.any()
Promise.any() usuli birinchi kirish Promise obyekti bajarilganda bajariladi.
Barcha kiruvchi Promise’lar rad etilmaguncha, rad etilgan Promise’lar e’tiborga olinmaydi.
Sintaksis
Promise.any(iterable)
Qaytish qiymati
Birinchi bajarilgan Promise qiymati bilan bajarilgan Promise.
Agar har bir kiritilgan Promise rad etilsa, qaytarilgan Promise AggregateError bilan rad etadi.
Misol
const p1 = Promise.reject("Failed");
const p2 = new Promise(function(resolve) {
setTimeout(function() {
resolve("First success");
}, 500);
});
const p3 = new Promise(function(resolve) {
setTimeout(function() {
resolve("Second success");
}, 1000);
});
Promise.any([p1, p2, p3])
.then(function(value) {
myDisplayer(value);
});
Promise.any() bir nechta manbalar bir xil natijani berishi mumkin bo‘lganda foydalidir.
Promise.race()
Promise.race() usuli birinchi kirish Promise obyekti bajarilganda o‘rnatiladi.
Birinchi Promise bajarilishi yoki rad etilishi mumkin.
Sintaksis
Promise.race(iterable)
Qaytish qiymati
Birinchi hisoblangan kirish Promise-ining qiymati yoki sababi bilan hal qilingan Promise.
Misol
const p1 = new Promise(function(resolve) {
setTimeout(function() {
resolve("First");
}, 500);
});
const p2 = new Promise(function(resolve) {
setTimeout(function() {
resolve("Second");
}, 1000);
});
Promise.race([p1, p2])
.then(function(value) {
myDisplayer(value);
});
Promise.withResolvers()
Promise.withResolvers() usuli Promise yaratadi va uning hal qilish funksiyalarini qaytaradi.
Sintaksis
Promise.withResolvers()
Qaytish qiymati
Uchta xususiyatga ega obyekt:
| Xususiyat | Tavsif |
|---|---|
promise |
Yangi yaratilgan Promise. |
resolve |
Promise’ni bajaradigan (fulfill) funksiya. |
reject |
Promise’ni rad etadigan (reject) funksiya. |
Misol
const {promise, resolve, reject} = Promise.withResolvers();
setTimeout(function() {
resolve("Operation completed");
}, 1000);
promise
.then(function(value) {
myDisplayer(value);
})
.catch(function(error) {
myDisplayer(error);
});
Promise metodlarini taqqoslash
| Metod | Qaytadi | Handles |
|---|---|---|
then() |
Yangi Promise | Bajarilish yoki rad etilish |
catch() |
Yangi Promise | Rejection |
finally() |
Yangi Promise | Settlement |
Promise.resolve() |
Hal qilingan (resolved) Promise | Bitta qiymat |
Promise.reject() |
Rad etilgan Promise | Bitta sabab |
Promise.all() |
Promise | Barcha bajarilgan qiymatlar |
Promise.allSettled() |
Promise | Barcha yakunlangan natijalar |
Promise.any() |
Promise | First fulfillment |
Promise.race() |
Promise | First settlement |
Promise.withResolvers() |
Obyekt | External resolving functions |
Tegishli sahifalar
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
