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 24. 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 nouvelobjet 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ème6. 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 !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!