Maison >interface Web >js tutoriel >Comment puis-je accéder à la valeur d'une promesse JavaScript ?

Comment puis-je accéder à la valeur d'une promesse JavaScript ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-23 13:53:11157parcourir

How Can I Access the Value of a JavaScript Promise?

Accès à la valeur d'une promesse

En JavaScript, les promesses sont utilisées pour représenter des opérations asynchrones. Ils fournissent un moyen d'enchaîner plusieurs opérations asynchrones et d'accéder au résultat de chaque opération une fois celle-ci terminée.

Lorsque vous appelez .then() sur une promesse, vous créez une nouvelle promesse qui est résolue lorsque le la promesse originale est résolue. La valeur transmise à la fonction de rappel de .then() est le résultat de la promesse d'origine.

Dans l'exemple de la documentation d'Angular, promiseB est une nouvelle promesse qui est résolue immédiatement après la résolution de promiseA. La valeur de promiseB est le résultat de promiseA incrémenté de 1.

Pour accéder à la valeur de promiseB, vous pouvez appeler .then() dessus et passer une fonction de rappel. La fonction de rappel recevra la valeur de promiseB comme argument.

promiseB.then(function(result) {
  // here you can use the result of promiseB
});

Depuis ES7 (2016), les promesses ont été améliorées avec la syntaxe async/wait. En utilisant async/await, vous n'avez pas besoin d'utiliser .then() pour accéder à la valeur. A la place, vous pouvez utiliser wait pour suspendre l'exécution de votre code jusqu'à ce qu'une promesse soit résolue.

let result = await functionThatReturnsPromiseA();
result = result + 1;

Dans ce cas, result contiendra le résultat de promiseA incrémenté de 1. Cependant, wait ne peut être utilisé que dans les fonctions asynchrones.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn