Junior — Middle
Կարող եք բացատրել խոստումների կոնցեպտը JavaScript-ում և ինչպես են դրանք օգտագործվում ասինխրոնային գործողությունները մշակելու համար:
sobes.tech AI
Պատասխան AI-ից
JavaScript-ում խոստումները (Promises) օբյեկտներ են, որոնք ներկայացնում են ասինխրոն գործողության արդյունքը և թույլ են տալիս աշխատել դրանց հետ, երբ գործողությունը ավարտվի (հաջողությամբ կամ սխալով): Նրանք օգնում են խուսափել « callback-ների դժոխքից » և դարձնում են կոդը ավելի ընթեռնելի:
Մի խոստում կարող է լինել երեք վիճակներից մեկը.
- pending (սպասում) — գործողությունը դեռ չի ավարտվել;
- fulfilled (կատարված) — գործողությունը հաջողությամբ ավարտվել է;
- rejected (անհամապատասխան) — գործողությունը ավարտվել է սխալով:
Նրանք ստեղծվում են Promise կոնստրուկտորով, որը ընդունում է երկու պարամետրերով ֆունկցիա՝ resolve և reject: Երբ ասինխրոն գործողությունը ավարտվում է, կանչվում է resolve (հաջողություն) կամ reject (սխալ):
Օրինակ՝
function fetchData() {
return new Promise((resolve, reject) => {
setTimeout(() => {
const success = true; // սիմուլացիա արդյունքի
if (success) {
resolve('Տվյալները ստացվել են');
} else {
reject('Սխալ տվյալների ստացման ժամանակ');
}
}, 1000);
});
}
fetchData()
.then(result => {
console.log(result); // 'Տվյալները ստացվել են'
})
.catch(error => {
console.error(error);
});
Նրանք կարող են շղթայական կապվել, ինչը հեշտացնում է ասինխրոն գործողությունների հաջորդական մշակումը։