新手小白!最近遇到一个问题,项目要获取本机的CPU和内存的使用情况,用的是ajax获取数据,插件用的Echarts,点击CPU监控会出现正确的line图,再点击内存监控也会出现正确的line图,但是此时再点击CPU监控,这时候line图会卡住,同时在firefox中报了一个错: Error: `setOption` should not be called during main process.谷歌不会报错.CPU监控代码如下:
setInterval(function (){
                     $.ajax({
                            type: "POST",
                            async: false,
                            url: "${basepath}cpuguanli/perUseInfoEchart.action",
                            data: {type:'line'},
                            success: function(result){
                                    $.each(result.cpu,function(k,v){
                                   var ddd=[];
                                   for(var i=1;i<120;i++){
                                      ddd.push(data[k][i]);
                                      }
                                   var num=(v.Combined).substring(0,(v.Combined).length-1);
                                    ddd.push(Math.floor(num));
                                    data[k]=ddd;
                                    cpu_option.series[0].data=data[k];
                                    cpu_option.yAxis.max=100;
                                    cpu_option.title.text="CPU"+(k+1)+"  使用率"+num+"%";
                                    cpu_echarts[k].setOption(cpu_option);
                                   });
                            },
                          error: function(data) {
                             alert("数据加载失败");
                             return;
                         }
                      });
               },1000);
内存监控代码如下:
setInterval(function (){
             $.ajax({
         type: "POST",
         async:true,
         url: "${basepath}memoryguanli/memoryInfoEchart.action",
         data: {type:'line'},
         success: function(result){
         $.each(result.memory,function(k,v){
         var ddd=[];
                     for(var i=1;i<120;i++){
                        ddd.push(data[0][i]);
                        }
                     var num=(v.used_percent).substring(0,(v.used_percent).length-1);
                     ddd.push(Math.floor(num));
                     data[0]=ddd;
                     memory_option.series[0].data=data[0];
                     memory_option.title.subtext="内存总量:" + v.memory_total + "MB" + "\t内存使用量:" + v.memory_used + "MB" + "\t内存剩余量:" + v.memory_free + "MB";
                     memory_option.yAxis.max=100;
                     memory_option.title.text="MEMORY使用的总内存"+num+"%";
                     memory_echarts[0].setOption(memory_option);                        });
          },
       error: function(data) { 
     alert("数据加载失败");
     return; 
     } 
       });
          },1000);
        }