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!