Maison > interface Web > js tutoriel > Comment puis-je gérer efficacement des tableaux d'objets différés avec $.when() de jQuery ?

Comment puis-je gérer efficacement des tableaux d'objets différés avec $.when() de jQuery ?

Mary-Kate Olsen
Libérer: 2024-12-19 10:15:14
original
392 Les gens l'ont consulté

How Can I Effectively Handle Arrays of Deferred Objects with jQuery's $.when()?

Comprendre la gestion des tableaux différés dans $.when()

Dans un scénario similaire à celui démontré dans le JSFiddle fourni, un tableau de les tâches différées sont générées et transmises à $.when(). Cependant, $.when() attend par défaut des objets différés individuels comme arguments et peut ne pas gérer efficacement les tableaux.

Utilisation de Function.prototype.apply

Pour résoudre ce problème, vous pouvez utiliser Function.prototype.apply pour transmettre le tableau des différés en tant que paramètres distincts. Ceci peut être réalisé avec la syntaxe suivante :

$.when.apply($, my_array).then( ___ );
Copier après la connexion

Cette approche étendra le tableau en une liste de différés individuels séparés par des virgules, permettant à $.when() de les traiter correctement.

Utilisation de l'opérateur de propagation ES6

Alternativement, si vous utilisez ES6 ou une version ultérieure, vous pouvez utiliser l'opérateur de propagation (...) pour obtenir le même effet de manière plus concise :

$.when(...my_array).then( ___ );
Copier après la connexion

Gestion du nombre de paramètres dynamiques dans le gestionnaire .then()

Depuis le nombre de paramètres requis par le gestionnaire .then() est inconnu à l'avance, il est conseillé de traiter le tableau d'arguments pour extraire les résultats de chaque promesse. Cela peut être accompli dans la fonction de gestionnaire elle-même.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal