Maison > Article > interface Web > Comment pouvez-vous éviter d'utiliser les promesses jQuery lors du chaînage de fonctions jQuery asynchrones ?
Éviter les promesses jQuery dans les opérations asynchrones chaînées
Il est recommandé de minimiser l'utilisation des promesses jQuery lors de l'utilisation des promesses ECMAScript. Cependant, enchaîner deux fonctions jQuery asynchrones devient difficile sans utiliser then ou .when de jQuery.
Éviter les promesses de jQuery
Lors de l'utilisation de Promise.resolve($.getJSON(url, params)) peut cacher les promesses de jQuery, il est inefficace dans les opérations enchaînées. Pour éviter les promesses jQuery dans de tels scénarios, il est essentiel d'identifier et de diffuser explicitement toutes les promesses jQuery sur lesquelles vous invoquez directement des méthodes.
Interopérabilité des promesses JavaScript
Les promesses JavaScript sont interopérables, ce qui signifie que vous pouvez les mélanger et les assortir à partir de différentes implémentations. Cependant, pour garantir que des implémentations spécifiques sont utilisées, vous devez explicitement lancer des promesses jQuery.
Exemple
Considérez le code suivant qui enchaîne deux appels getJSON à l'aide de promesses natives :
Promise.resolve($.getJSON("url1", params)) .then(function(data) { return $.getJSON("url2", params); }) .then(function(data) { // Process data });
Dans cet exemple, $.getJSON renvoie les promesses jQuery. Pour éviter d'utiliser la méthode then de jQuery, nous convertissons explicitement la promesse jQuery en promesse native à l'aide de Promise.resolve. Par la suite, nous pouvons continuer le chaînage en utilisant des méthodes de promesse natives, en garantissant que tous les appels de méthode .then utilisent l'implémentation native.
Conclusion
En lançant explicitement les promesses jQuery, vous pouvez intégrez-les de manière transparente dans des opérations qui utilisent les promesses ECMAScript natives, vous permettant d'éviter les promesses jQuery tout en conservant la possibilité d'enchaîner des opérations asynchrones.
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!