for(c=0; c < $scope.graphPlotsChunk.length; c++ ){
if(c == 0){
Plotly.newPlot(graphRender, [$scope.graphPlots2[c]], $scope.layout2);
}else{
setTimeout(function() {
$scope.testCounter.push(_.clone(c));
console.log($scope.testCounter);
Plotly.addTraces(graphRender, $scope.graphPlots2[c]);
},0);
}
}
调用Plotly addTraces会因为未同步的计数器而引发错误&#34; c&#34;:
没有超时没有错误但是跟踪不会反映在视图中直到循环结束。我希望看到大数据绘制的痕迹一个接一个地出现,这可能很慢,所以至少在代码运行时会发生一些变化
有任何建议,不知道从哪里开始!
答案 0 :(得分:0)
使用foreach而不是for循环以某种方式解决了问题,,,
$scope.graphPlots2.forEach(function(trace, i) {
if (i == 0) {
Plotly.newPlot('graphRender', [trace], $scope.layout2);
} else {
setTimeout(function() {
Plotly.addTraces('graphRender', trace);
}, 0);
}
});