retour au cours

Un délai avec une promesse

La fonction de base setTimeout utilise des fonctions de retour. Créez une alternative avec une promesse.

La fonction delay(ms) doit retourner une promesse. Cette promesse doit s’acquitter après ms milliseconds, pour que l’on puisse ajouter .then à celle-ci, comme cela :

function delay(ms) {
  // votre code
}

delay(3000).then(() => alert('runs after 3 seconds'));
function delay(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}

delay(3000).then(() => alert('runs after 3 seconds'));

Notez bien que dans cette tâche, resolve est appelée sans arguments. Nous ne retournons aucune valeur de delay, nous nous assurons seulement du délai.