Retourner ' la page d'accueil de TJSRetourner ' la page d'accueil de TJS
Livre Référence Tutos Scripts Forums FAQ Tools IA

Objet : Promise

Constructeur d'une Promise ou promesse d'existence future d'une valeur

Syntaxe
Promise promesse=new Promise(Function execute)

Attention, incompatible avec Internet Explorer
Compatible Internet Explorer
Non
Compatible Edge H駻it?
Oui
Compatible Edge Chromium
Oui
Compatible Chrome
Oui
Compatible Safari
Oui
Compatible Firefox
Oui
Compatible Opera
Oui
ES6
ECMAScript 2015

Description
Un objet Promise est un moyen permanent d'accéder à une valeur qui peut être dans différents états :
- valeur déjà accessible
- valeur qui sera éventuellement disponible plus tard
- valeur qui ne le sera jamais

Il faut comprendre le mot Promise comme une "promesse d'existence".

Les Promise sont le moyen idéal de manipuler des traitements issus d'appels asynchrones.
Les cas d'usages d'appels asynchrones sont nombreux :
- appel vers un service externe (via XMLHttpRequest par exemple)
- attente d'une action de l'utilisateur
- attente d'une réponse de l'appareil de l'utilisateur (position GPS, état batterie, ...)
- optimisation de la fluidité du code (pour le confort utilisateur, via WebWorker, pour l'optimisation SEO, ...)

La fonction execute() est exécutée immédiatement à la création de promesse.
Cette fonction attend deux paramètres, qui sont deux fonctions prédéfinies par le moteur JavaScript. Il ne faut donc pas les définir dans votre code source, mais les appeler dans la fonction execute() :
resolve(valeur) à exécuter pour signaler que la promesse est tenue
reject(raison) à exécuter pour signaler que la promesse a échoué

Pour résumer, la fonction execute() :
- déclenche un traitement (généralement non instantané ou non garanti)
- appelle resolve() ou reject() pour changer l'état de promesse.

Depuis ES7, les Promise sont également utilisables avec les opérateurs await et async.


Méthodes
all()
ES7
Retourne le résultat d'une liste de promesses
catch()
ES6
Déclenche un traitement quand la promesse est rompue
finally()
ES9
Exécute un traitement dès qu'une promesse est terminée, qu'elle soit tenue ou rejetée
then()
ES6
Déclenche des traitements quand la promesse est tenue ou rompue

Exemple 1 : Promesse toujours tenue
Code source
<script type="text/javascript">
var promesse=new Promise(function(resolve, reject) {
setTimeout( () => resolve("Yeepee") , 1000);
});

/* S'exécute quand la promesse est tenue */
promesse.then(function(value) {
console.log(value);
});

console.log("Attente de la promesse");
console.log(promesse);
</script>

Résultat
Emulation de la console
Explication
Dans cet exemple, nous créons une promesse toujours tenue après un delai de 1000 ms fixé via setTimeout().
Page mise ? jour le
(追記) (追記ここまで)

Troisième édition Tout JavaScript chez Dunod

Tout JavaScript le livre chez DunodEn savoir plus
Sortie le 4 janvier 2023

Version papier 2990ドル
Format électronique 2299ドル.

Commandez en ligne

Chercher une fonction, un objet, ...

(追記) (追記ここまで)

Le graph des objets Javascript



Chargement
en cours...
1999-2026 | Reproduction ou diffusion interdite sans autorisation de Tout JavaScript.com
Le 06/09/2026 07:12:48 sur php 7 en 76.16 ms

AltStyle によって変換されたページ (->オリジナル) /