D3: Силовая раскладка + блокировка работы

Как можно было бы выполнить блокировку работы с другим потоком (например, загрузкой данных) при использовании макета форсирования?

На простейшем из возможных примеров размещения силы ( 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/ и думаю, что понимаю, почему это происходит. Есть ли другой способ обойти эту проблему?

0 ответов

Другие вопросы по тегам