Middle
JavaScriptте Promise кантип иштейт?
sobes.tech AI
AIден жооп
- Асинхрондук операциянын мүмкүн болуучу акыркы жыйынтыгын (же катасын) жана анын натыйжалуулугун көрсөтүүчү объект.
- Промисдин абалы:
pending: баштапкы абал, эч качан аткарылган эмес жана четке кагылган эмес.fulfilled: операция ийгиликтүү аяктады дегенди билдирет.rejected: операция каталар менен аяктады дегенди билдирет.
pendingабалынанfulfilledжеrejectedабалына өтүү бир жолу болот жана кайтарылгыс.- Методдор:
.then(onFulfilled, onRejected): эки callback функциясын кабыл алат. Биринчи (onFulfilled) ийгиликке жеткенде чакырылат, экинчи (onRejected) каталарда. Эки аргумент да милдеттүү эмес. Жаңы промис кайтарат..catch(onRejected):.then(null, onRejected)кыскача түрү. Каталарды иштетүү үчүн колдонулат. Жаңы промис кайтарат..finally(onFinally): промисдин жыйынтыгына карабай чакырылат ( ийгилик же каталар). Ресурстарды тазалоо үчүн пайдалуу. Жаңы промис кайтарат.
- Промис түзүү:
new Promise((resolve, reject) => {
// Асинхрондук операция
const success = true;
if (success) {
resolve("Операция ийгиликтүү аяктады!"); // fulfilled абалына өтүү
} else {
reject("Кээ бир нерсе туура эмес болду..."); // rejected абалына өтүү
}
});
- Промисдерди чынжырлоо:
.then(),.catch(),.finally()промис кайтарат, бул асинхрондук операцияларды тартиптүү аткаруу үчүн чынжырларды түзүүгө мүмкүндүк берет.
fetch(url)
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Ката:', error));