Sobes.tech
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);
  });

Նրանք կարող են շղթայական կապվել, ինչը հեշտացնում է ասինխրոն գործողությունների հաջորդական մշակումը։