Maison  >  Article  >  interface Web  >  Comment chaîner des fonctions jQuery asynchrones sans promesses ?

Comment chaîner des fonctions jQuery asynchrones sans promesses ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-29 21:07:02187parcourir

How to Chain Asynchronous jQuery Functions without Promises?

Chaînage de fonctions jQuery asynchrones sans promesses

Bien que les tutoriels déconseillent d'utiliser les promesses jQuery, le chaînage de fonctions asynchrones peut être difficile sans elles. Cet article explore comment gérer de telles situations à l'aide de Promise.all et d'autres méthodes sans compter sur .then() ou .when() de jQuery.

JavaScript promet de prendre en charge l'interopérabilité, permettant le mélange de différentes implémentations. Cependant, il est essentiel de lancer explicitement des promesses lors de l'appel direct de méthodes sur celles-ci.

Considérons l'exemple suivant :

Promise.all([$.ajax(…), $.ajax(…)]).then(…); // jQuery Promise is automatically casted

Pour garantir que tous les appels de méthode .then() utilisent une implémentation spécifique, explicitement lancer la promesse jQuery :

Promise.resolve($.ajax(…))
.then(function(data) {
    return $.ajax(…);
})
.catch(…)

En convertissant la promesse jQuery en une promesse native, vous pouvez accéder à ses fonctionnalités tout en enchaînant plusieurs fonctions asynchrones à l'aide de Promise.all.

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