Maison > interface Web > js tutoriel > Comment accéder à la valeur résolue d'une promesse chaînée en JavaScript ?

Comment accéder à la valeur résolue d'une promesse chaînée en JavaScript ?

DDD
Libérer: 2024-12-21 09:24:10
original
968 Les gens l'ont consulté

How Do I Access the Resolved Value of a Chained Promise in JavaScript?

Comprendre l'accès à la valeur promise

les promesses sont omniprésentes dans le JavaScript moderne, permettant des opérations asynchrones. Bien que leur utilisation soit bien documentée, certains aspects peuvent prêter à confusion. Une question courante est de savoir comment accéder à la valeur d'une promesse, en particulier lorsque les promesses sont enchaînées via la méthode .then().

Dans l'exemple fourni, promiseB est créée à partir de promiseA. La documentation indique que promiseB détiendra une valeur égale au résultat 1 après la résolution de promiseA. Cependant, il n'est pas immédiatement clair comment accéder à cette valeur.

Accès aux valeurs de promesse

La clé pour comprendre cela est que la méthode .then() renvoie une nouvelle promesse qui se résout après la résolution de la promesse originale (dans ce cas, promiseA). La valeur de cette nouvelle promesse est déterminée par tout ce qui est renvoyé par la fonction de rappel de succès.

Dans l'exemple fourni, le rappel de succès renvoie le résultat 1, ce qui signifie que promiseB sera résolu avec cette valeur. Pour accéder à cette valeur, vous utiliserez promiseB.then(function(result) {...}) de la même manière que vous accéderiez à promiseA.

Async/Await Syntax

ECMAScript 2016 (ES7) a introduit la syntaxe async/await, qui fournit une alternative à la méthode .then() pour travailler avec des promesses. En utilisant async/await, vous pouvez accéder directement à la valeur d'une promesse en utilisant le mot clé wait.

Par exemple, au lieu d'écrire :

promiseB.then(function(result) {
    // Use the result
});
Copier après la connexion

Vous pouvez écrire :

async function doSomething() {
    const result = await promiseB;
    // Use the result
}
Copier après la connexion

Cependant, notez que async/await ne peut être utilisé que dans une fonction asynchrone.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal