Gjendjet e Premtimit në JavaScript

Një premtim mund të jetë në një nga tre gjendjet. Kur krijohet, premtimi është në pritje (pending), pastaj mund të përmbushet (fulfilled), duke kthyer rezultatin e marrë, ose të refuzohet (rejected), duke kthyer shkakun e refuzimit. Ju mund të shikoni kalimin nga një gjendje në tjetrën duke ekzekutuar kodin e mëposhtëm:

javascriptlet promise = new Promise(function(resolve, reject) {
  setTimeout(function() {
    let isError = false; // vendosni ose true, ose false
    
    if (!isError) {
      resolve([1, 2, 3, 4, 5]);
    } else {
      reject('gabim në premtim');
    }
  }, 3000);
});

setInterval(function() {
  console.log(promise); // çdo sekondë e shfaqim premtimin në konsol
}, 1000);

Kini parasysh që gjendjet fulfilled dhe rejected janë të pandryshueshme: nëse një premtim kalon në një nga këto gjendje, ai nuk do të mund të kalojë më në një tjetër. Le të shohim me një shembull. Në kodin e mëposhtëm thirrja reject do të ndodhë më herët, prandaj thirrja resolve do të injorohet:

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

Krijoni një premtim që do të përmbushet me sukses pas një kohe. Shfaqeni atë në konsol dhe studioni gjendjen e tij fillestare dhe të përfunduar.

Задание 2

Krijoni një premtim që do të përmbushet me dështim pas një kohe. Shfaqeni atë në konsol dhe studioni gjendjen e tij fillestare dhe të përfunduar.