პრომისის სტატუსები JavaScript-ში

პრომისს შეიძლება ჰქონდეს ერთ-ერთი სამი სტატუსი. შექმნის დროს პრომისი არის მოლოდინის სტატუსში (pending), შემდეგ კი შეიძლება გახდეს შესრულებული (fulfilled), დაბრუნებული შედეგით, ან უარყოფილი (rejected), დაბრუნებული უარყოფის მიზეზით. თქვენ შეგიძლიათ დააკვირდეთ გადასვლას ერთი სტატუსიდან მეორეში, შემდეგი კოდის გაშვებით:

javascriptlet promise = new Promise(function(resolve, reject) {
  setTimeout(function() {
    let isError = false; // დაუყენეთ true ან false
    
    if (!isError) {
      resolve([1, 2, 3, 4, 5]);
    } else {
      reject('error in promise');
    }
  }, 3000);
});

setInterval(function() {
  console.log(promise); // ყოველ წამში ვიღებთ პრომისს კონსოლში
}, 1000);

გაითვალისწინეთ, რომ სტატუსები fulfilled და rejected შეუცვლელია: თუ პრომისმა გადაინაცვლა ერთ-ერთ ამ სტატუსში, მაშინ ის ვეღარ გადავა სხვაში. მოდით შევხედოთ მაგალითს. შემდეგ კოდში reject-ის გამოძახება მოხდება ადრე, ამიტომ resolve-ის გამოძახება იქნება იგნორირებული:

javascriptlet promise = new Promise(function(resolve, reject) {
  setTimeout(() => reject(new Error('error')), 1000);
  setTimeout(() => resolve('ignored'), 2000);
});
Задание 1

შექმენით პრომისი, რომელიც შესრულდება წარმატებით რაღაც დროში. გამოიტანეთ ის კონსოლში და შეისწავლეთ მისი საწყისი სტატუსი და დასრულებული სტატუსი.

Задание 2

შექმენით პრომისი, რომელიც შესრულდება წარუმატებლად რაღაც დროში. გამოიტანეთ ის კონსოლში და შეისწავლეთ მისი საწყისი სტატუსი და დასრულებული სტატუსი.