D3.js - 浏览器冻结 - 随时间更新的元素太多了?

时间:2016-10-01 20:21:04

标签: d3.js

我在“愚弄D3.js代码”时遇到了一些问题。

我创建了许多圆圈并在其中加入时间以便每秒更新一次,但这会很快导致不同的浏览器崩溃或冻结。

从一些googleing我认为我的问题是一段时间后元素太多了,但我没有弄清楚如何在没有出现此问题的情况下更新它。

代码中有问题的部分:

[HttpGet]
public Json GetMyResults(){
    //query to database 
}

[HttpPost]
public Json SubmitResults(){
    //query to database 
}

1 个答案:

答案 0 :(得分:1)

timeoranges.text选项中的每个元素将调用您传递给timeoranges的函数。因此,如果您有100个圈子,则会拨打setTimeout 100次,然后拨打setTimeout 100次,等等...

我认为你的意思是:

function updateOranges() {  
  timeoranges.text(function() {        
        return Date();
  });
  setTimeout(updateOranges, 1000);
}
updateOranges();