Latence
Dans notre introduction la promesse est immédiatement résolue ou rejetée.
Nous allons ajouter un retard dans la réponse à la promesse afin de montrer l'intérêt principal des promesses.
Pour réaliser le retard, on utilise la fonction setTimeout qui permet d'effectuer une fonction après un temps donné.
1
setTimeout(fn , retard)
fn correspond à la fonction à réaliser et retard au délai en millisecondes après lequel la fonction est effectuée.
1
const etat = "ok";
2
const promesse = new Promise((resolve, reject) => {
3
setTimeout(() => {
4
if (etat === "ok") {
5
resolve("Tout a bien fonctionné. Je retourne une réponse");
6
} else {
7
reject("Un problème a eu lieu. Je retourne une erreur");
8
}
9
}, 3000);
10
});
11
12
promesse
13
.then((response) => console.log(response))
14
.catch((e) => console.error(e));
15
16
console.log("Exemple de Promesse");
17
Vous pouvez tester ce code dans la console de votre navigateur.
On peut voir que Exemple de Promesse s'affiche en premier.
Au bout de 3 secondes la réponse de la promesse s'affiche.