Maison >interface Web >js tutoriel >La différence entre terminé et ensuite

La différence entre terminé et ensuite

php中世界最好的语言
php中世界最好的语言original
2018-03-15 15:12:456663parcourir

Cette fois, je vais vous présenter la différence entre done et then. Quelles sont les précautions lors de l'utilisation de done et then. Voici un cas pratique, jetons un coup d'oeil. La méthode done et la méthode then de

jquerydeferred objet peuvent toutes deux implémenter des appels en chaîne, mais leurs fonctions sont différentes si vous transmettez la méthode then If. la méthode a une valeur de retour, elle sera passée à la prochaine méthode appelée dans la chaîne. La méthode done est l'inverse. Même si la méthode que vous transmettez a une valeur de retour, la méthode done ne transmettra pas votre valeur de retour à la méthode suivante appelée dans la chaîne

Sans plus. ado, passons directement à l'exemple :

var defer = jQuery.Deferred();
defer.done(function(a,b){
  console.log("a = " + a+"b = " + b);
  return a * b;
}).done(function( result ) {
  console.log("result = " + result);
}).then(function( a, b ) {
  console.log("a = " + a+"b = " + b);
  return a * b;
}).done(function( result ) {
      console.log("result = " + result);
}).then(function( a, b ) {
  console.log("a = " + a+"b = " + b);
  return a * b;
}).done(function( result ) {
  console.log("result = " + result);
});
defer.resolve( 2, 3 );

Le résultat de sortie est le suivant :

Analyse des résultats :

1. >

2. La valeur de retour du rappel dans done ne sera pas transmise

3. Le deuxième done n'a qu'un seul paramètre et reçoit le premier paramètre 2 de defer.resolve(2, 3), donc résultat. Il s'agit de 2

4. Le premier reçoit alors defer.resolve(2, 3) et reçoit deux paramètres. Le résultat est 6. En même temps, un nouvel

objet différé est créé. et le résultat est transmis à l'objet différé.

5. Le troisième terminé a reçu le nouvel objet différé et le résultat transmis, a imprimé le résultat 6 et a ensuite transmis le nouvel objet différé au deuxième

6. Le second reçoit alors le nouvel objet différé. Il n'a qu'un seul paramètre, qui est le résultat, donc le paramètre b n'est pas défini. En même temps, un nouvel objet différé

.

est créé. 7. Le quatrième terminé reçoit Pour un objet différé nouvellement créé, le paramètre passé est NaN, et le résultat imprimé est naturellement NaN

Je crois que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de PHP !


Lecture recommandée :

Comment le plug-in Validate de jQuery valide les valeurs d'entrée

Utilisation du panneau pliable jQuery EasyUI

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