Maison > interface Web > js tutoriel > Comment les promesses, les objets en JavaScript, contiennent-ils des valeurs primitives ?

Comment les promesses, les objets en JavaScript, contiennent-ils des valeurs primitives ?

Mary-Kate Olsen
Libérer: 2024-12-25 09:57:14
original
851 Les gens l'ont consulté

How Do Promises, Objects in JavaScript, Hold Primitive Values?

Accès à la valeur des promesses

Les promesses sont couramment utilisées pour les opérations asynchrones en JavaScript. L'une des méthodes clés pour interagir avec les promesses est la méthode .then(). Cette méthode nous permet d'enchaîner plusieurs promesses et d'accéder à la valeur de la promesse précédente dans les promesses suivantes.

Considérons l'exemple angulaire suivant :

promiseB = promiseA.then(function(result) {
  return result + 1;
});
Copier après la connexion

Cet exemple définit promiseB comme une nouvelle promesse qui est résolu immédiatement après la résolution de promiseA. D'après la documentation Angular, "sa valeur sera le résultat de promiseA incrémenté de 1."

La question se pose : comment un objet de promesse, qui est de type Object, peut-il contenir une valeur primitive comme un nombre ?

La réponse réside dans la sémantique de la méthode .then(). La fonction de rappel de réussite fournie à .then() renvoie une nouvelle valeur qui devient la valeur de la nouvelle promesse. Dans ce cas, la fonction de rappel de succès renvoie le résultat 1, qui incrémente la valeur du résultat et la renvoie comme valeur de promiseB.

Pour accéder à la valeur de promiseB, nous pouvons enchaîner une autre méthode .then() et fournir une fonction de rappel de réussite :

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

Dans ce rappel, nous aurons accès à la valeur du résultat, qui est la valeur incrémentée du précédent promise.

ES7 (2016) a introduit la syntaxe async/await, offrant une manière alternative de gérer les promesses. En utilisant wait, nous pouvons déballer directement la valeur de la promesse, éliminant ainsi le besoin de chaîner plusieurs méthodes .then(). Par exemple :

async function doSomething() {
  let result = await functionThatReturnsPromiseA();
  return result + 1;
}
Copier après la connexion

Dans cet exemple, le mot-clé wait est utilisé dans une fonction asynchrone. Le mot clé wait suspend l'exécution de la fonction jusqu'à ce que functionThatReturnsPromiseA() soit résolu. Une fois la promesse résolue, la valeur de la promesse est attribuée à la variable résultat et la fonction continue son exécution.

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 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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal