用于Html渲染的Javascript for循环体系结构

我有一个包含10个顶级对象的大型数组文件.他们每个人有10-100个孩子,每个孩子有10-100个孩子.

我现在处理它的方式,如果一个三环for循环遍历2000个对象并为这些对象构建html并将其附加到页面.

$('body').append(generatedHTML);

我现在面临的问题是渲染需要永远,而正在处理这个页面冻结.

有没有更好的方法来实施这样的解决方案?例如,一次加载一个步骤,以便用户在加载页面时仍然可以与页面进行交互?

示例代码如下

for (var i = 0; i < rootElements; i++) {
  var child = rootElements[i];

  var new_obj = child.secondElement;
  for (var j = 0; j < new_obj.length; j++) {
  // Another for loop to process the children of new_obj

最佳答案 也许你可以使用setTimeout()来延迟加载东西.

你也可以看看这个:

http://www.javascriptkata.com/2010/08/10/nofreeze-a-library-that-avoids-freezing-in-javascript/

点赞