Les promesses
Une promesse (objet Promise en JS) est un objet JS créé (et retourné) au lancement d'une fonction "asynchrone".
- requête de bases de données ;
- accès aux interfaces (caméra ...).
Une promesse possède des propriétés internes :
son état (state) :
en cours de traitement ;
terminée avec succès ;
terminée suite à un échec.
sa valeur (result) :
passe de "undefined" à la valeur résultat (correspond généralement aux données renvoyées par le "serveur" interrogé) en cas de terminaison avec succès ;
passe de "undefined" à une valeur d'erreur en cas de terminaison suite à un échec.
Une promesse dispose également, de méthodes pour gérer son état. Ces méthodes, en modifiant l'état de la promesse, informent le navigateur des opérations futures à exécuter.
Ces opérations figurent dans les fonctions passées en argument de ces méthodes, par exemple, dans les méthodes then() ou catch() de la promesse.
Ces opérations qui dépendent du résultat de l'exécution de la fonction asynchrone (qu'il y ait succès ou échec) pourront être déclarées à la suite les unes des autres dans un ordre bien précis par la technique du chainage.
Les pages du chapitre, qui suit, détaillent ces opérations en présentant deux exemples de fonctions asynchrone très utilisées en Javascript :
fetch() ;
jQuery $.ajax().