Malgré les recommandations visant à éviter les promesses de jQuery, les développeurs peuvent être confrontés à des difficultés lors du chaînage de fonctions jQuery asynchrones sans utiliser Les mécanismes de gestion des promesses de jQuery comme .then() ou .when(). Pour résoudre ce problème, envisagez l'approche suivante :
Les promesses jQuery sont interopérables avec les promesses JavaScript. Cela signifie que vous pouvez les mélanger et les faire correspondre dans votre code sans problème. Toutes les bibliothèques réputées et les promesses natives acceptent les éléments de n'importe quelle implémentation. Par conséquent, dans la plupart des cas, vous pouvez coder comme si toutes vos promesses utilisaient la même implémentation.
Cependant, si vous devez vous assurer que tous les appels .then() utilisent votre implémentation préférée ou implémentent une implémentation non- fonctionnalités standard, il est essentiel de convertir explicitement toutes les promesses sur lesquelles vous invoquez directement les méthodes. Par exemple :
Promise.all([$.ajax(...), $.ajax(...)]) // Just works (native `then`)
$.ajax(...) // jQuery promise Promise.resolve($.ajax(...)) // Explicit cast .then(function(data) { // Native `then` return $.ajax(...); // Just works }) .catch(...) // Use features of native promise
N'oubliez pas que mélanger les promesses jQuery et JavaScript n'est généralement pas un problème, mais si vous avez besoin d'un contrôle explicite sur l'implémentation, utilisez l'approche de casting explicite.
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!