如何在使用强制布局时对其他线程(例如加载数据)执行阻止工作?
使用最简单的力布局示例(http://bl.ocks.org/mbostock/4062045),我尝试了两件事:
setInterval(function() {
console.debug('BEGIN');
for (var i = 0; i < 1000000000; ++ i);
console.debug('END');
}, 2000);
和:
var run = function() {
console.debug('BEGIN');
for (var i = 0; i < 1000000000; ++ i);
console.debug('END');
d3.timer(run, 500);
return true;
};
d3.timer(run, 500);
但不幸的是,两者似乎都是一样的。阻止力布局的勾号。这可以在这里看到:http://bl.ocks.org/mfolnovic/8193673。
我读过http://ejohn.org/blog/how-javascript-timers-work/,我想我明白为什么会这样。有没有不同的方法来解决这个问题?