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( ___ );
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( ___ );
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!