J'ai action, qui retourne des données pour les graphiques sur la page. Il prend le paramètre chartType et renvoie les données du graphique. La page utilise jQuery et la fonction $.post
pour l'appeler. Voici un exemple:
var fillChart = function (chartData){ /* fill routine here */};
$(function() {
$.post(
'/Charts/ChartsJson',
'chartType=Type1',
fillChart,
'json');
$.post(
'/Charts/ChartsJson',
'chartType=Type2',
fillChart,
'json');
// other calls here [*]
});
J'ai un tableau de types de graphiques, qui devraient être traités. Si j'ajoute tous les appels après la ligne commentée, ils seront tous envoyés en même temps. C'est bon, s'il y a de 1 à 3 articles. Mais s'il y a plus d'objets, alors c'est mauvais pour la performance.
Existe-t-il un moyen de limiter le nombre de demandes de publication exécutées simultanément?
Je sais, que je pourrais utiliser le rappel du premier message, ce qui invoquerait deuxième, et ainsi de suite ... Ma question est: "Y at-il un autre moyen?"
UPD: Chaque appel est déjà partitionné. (Et la quantité d'éléments dans mon tableau n'est pas toujours connue.) Cette action retourne environ 1000 éléments complexes par appel, et chartType
indique quelle table utiliser (et quelle logique pour les données d'extraction)
L'extraction totale de toutes les données peut prendre 20 , même 40 secondes. Je veux donc l'afficher en déplacement, car il a été traité.
question similaire: http://stackoverflow.com/questions/4098826/how-can-i-call-ajax-synchronously-without-my-web-page-freezing –
Vous avez raison. Devrais-je supprimer ma question? –