通过异步获取数据,往echart图显示,但是每次异步,每次获取数据都不一样,只获取最后一个的数据
for(i=0;i<=4;i++){
var myChart = echarts.init(document.getElementById('echarts' + i));
myChart.setOption({
//省略内容设置
...
});
// 异步获取数据
$.get("httpPieStatistics" + i).done(
function(data) {
i++;
//省略内容设置
...
});
});
)
采用闭包原理,也没办法解决
for(var i=0;i<lis.length;i++){
(function(arg){
lis[arg].οnclick=function(){
}(i);
之后采用递归
function func(times){
if(times <= 0){
return;
}
$.get(url,data,function(){
times --;
func(times); //递归调用
});
}
func(5);
采用递归后,完美的解决了问题
$(function() {
func(0);
});
/* 获取数据画图 */
function func(i){
if(i>4){
return;
}
var myChart = echarts.init(document.getElementById('echarts' + i));
myChart.setOption({
//省略内容设置
...
});
// 异步获取数据
$.get("httpPieStatistics" + i).done(
function(data) {
i++;
//省略内容设置
....
func(i);// 递归调用
});
}
版权声明:本文为hualingkai11原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。