Les états d'une promesse en JavaScript

Une promesse peut se trouver dans l'un des trois états. Lors de sa création, la promesse est en attente (pending), puis peut devenir tenue (fulfilled), en retournant le résultat obtenu, ou rejetée (rejected), en retournant la raison de l'échec. Vous pouvez observer la transition d'un état à un autre en exécutant le code suivant :

javascriptlet promise = new Promise(function(resolve, reject) {
  setTimeout(function() {
    let isError = false; // mettez soit true, soit false
    
    if (!isError) {
      resolve([1, 2, 3, 4, 5]);
    } else {
      reject('error in promise');
    }
  }, 3000);
});

setInterval(function() {
  console.log(promise); // toutes les secondes, nous affichons la promesse dans la console
}, 1000);

Notez que les états fulfilled et rejected sont immuables : si une promesse est passée à l'un de ces états, elle ne pourra plus passer à l'autre. Regardons un exemple. Dans le code suivant, l'appel à reject se produira plus tôt, donc l'appel à resolve sera ignoré :

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

Créez une promesse qui s'exécutera avec succès après un certain temps. Affichez-la dans la console et étudiez son état initial et son état final.

Задание 2

Créez une promesse qui échouera après un certain temps. Affichez-la dans la console et étudiez son état initial et son état final.