Maison  >  Article  >  interface Web  >  L'utilisation de `.then(function(a){ return a; })` est-elle une non-opération pour les promesses ?

L'utilisation de `.then(function(a){ return a; })` est-elle une non-opération pour les promesses ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-14 10:40:02925parcourir

Is Using `.then(function(a){ return a; })` a No-Op for Promises?

Est-ce que ".then(function(a){ return a; })" est un No-Op pour les promesses ?

.then(function (a) { return a; }) semble en effet être un non-op dans le contexte de Promises. Comme expliqué dans le tutoriel que vous avez référencé, les promesses permettent d'enchaîner les opérations. Chaque opération au sein de la chaîne peut être considérée comme une fonction qui prend une promesse en entrée et renvoie une promesse en sortie.

Le but de la méthode ".then(...)" est de spécifier quelle action doit être prise lorsque la promesse précédente est résolue. Dans ce cas, la fonction passée à ".then(...)" renvoie simplement la valeur d'entrée sans aucune transformation. Cela signifie que la sortie de l'opération ".then(...)" est la même que l'entrée, ce qui en fait effectivement une opération sans opération.

Pour répondre directement à votre question, oui, les deux appels de fonction vous avez fourni, avec et sans l'appel ".then(...)", sont effectivement les mêmes. Les deux renverront la même promesse et pourront être invoqués de la même manière.

La raison pour laquelle l'auteur a pu écrire le code avec l'appel ".then(...)" est une question de préférence personnelle ou malentendu. Il n'est généralement pas considéré comme une bonne pratique d'inclure du code inutile, surtout lorsque cela peut prêter à confusion.

Par conséquent, il est recommandé d'omettre l'appel ".then(function (a) { return a; })" lorsqu'il n'effectue aucune transformation utile sur la valeur Promise.

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