J'ai un tableau et un bouton qui appelle un traitement très lourd, comme dans cet exemple: http://jsfiddle.net/v97e5vs1/1/Highcharts showLoading() ne fonctionne pas comme prévu
$button.click(function() {
chart.showLoading();
for (var i=0;i<20;i++) {
var d=[];
for (var j=0;j<12;j++) {
d.push(Math.random()*200)
}
chart.addSeries({data:d});
}
chart.hideLoading();
});
Cependant, la fonction showLoading
ne fonctionne pas comme prévu: la fenêtre du broser raccroche jusqu'à la fin du traitement.
Qu'est-ce qui ne va pas?
showLoading() modifie uniquement l'affichage de la carte - il ne fait rien de plus - si votre boucle gèle le navigateur, vous devez déplacer la boucle un processus webworker ou utiliser une technique asynchrone comme celle de la réponse d'ici https://stackoverflow.com/questions/714942/how-to-stop-intense-javascript-loop-from-freezing-the-browser – morganfree